<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/atagar/nyx, branch master</title>
<subtitle>Damian's nyx repository</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/'/>
<entry>
<title>Rewrite port count dialog</title>
<updated>2015-07-02T16:57:13+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-07-02T16:57:13+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=35206a3a09979f6321aa8e9ce97728b4b1ccf92c'/>
<id>35206a3a09979f6321aa8e9ce97728b4b1ccf92c</id>
<content type='text'>
Revising the dialog that shows aggregated counts for entry or exit connections
(locales if a guard, or port usage if an exit). This is a pretty small popup
and code got even smaller with the cleanup, so moving it into popups.py.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Revising the dialog that shows aggregated counts for entry or exit connections
(locales if a guard, or port usage if an exit). This is a pretty small popup
and code got even smaller with the cleanup, so moving it into popups.py.
</pre>
</div>
</content>
</entry>
<entry>
<title>Menus caused stacktrace when you pressed 'm'</title>
<updated>2015-06-27T23:06:24+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-27T23:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=4de4e4ca8a719196b971e9e13ebc0f61b67123bb'/>
<id>4de4e4ca8a719196b971e9e13ebc0f61b67123bb</id>
<content type='text'>
Issue spotted by Steven. Revisions to popup handling broke the menu...

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 594, in start_nyx
      nyx.menu.menu.show_menu()
    File "/home/atagar/Desktop/nyx/nyx/menu/menu.py", line 119, in show_menu
      _draw_submenu(cursor, 1, 1, selection_left)
    File "/home/atagar/Desktop/nyx/nyx/menu/menu.py", line 159, in _draw_submenu
      popup, _, _ = nyx.popups.init(len(submenu.get_children()), menu_width, top, left, below_static = False)
  AttributeError: 'module' object has no attribute 'init'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Issue spotted by Steven. Revisions to popup handling broke the menu...

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 594, in start_nyx
      nyx.menu.menu.show_menu()
    File "/home/atagar/Desktop/nyx/nyx/menu/menu.py", line 119, in show_menu
      _draw_submenu(cursor, 1, 1, selection_left)
    File "/home/atagar/Desktop/nyx/nyx/menu/menu.py", line 159, in _draw_submenu
      popup, _, _ = nyx.popups.init(len(submenu.get_children()), menu_width, top, left, below_static = False)
  AttributeError: 'module' object has no attribute 'init'
</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite descriptor dialog</title>
<updated>2015-06-27T21:18:56+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-27T21:18:47+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=681ab618a52157f81a4b376eb8502f87851098a3'/>
<id>681ab618a52157f81a4b376eb8502f87851098a3</id>
<content type='text'>
Replacing the connection panel's descriptor dialog (the subwindow you see when
pressing 'd'). Only functional change is that it now includes microdescriptor
information (whereas before it only had consensus and server descriptors).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replacing the connection panel's descriptor dialog (the subwindow you see when
pressing 'd'). Only functional change is that it now includes microdescriptor
information (whereas before it only had consensus and server descriptors).
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate panel from descriptor dialog</title>
<updated>2015-06-27T21:16:28+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-27T20:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=34be51ee6ea48f8d8e1c124063a7c6a02f890a79'/>
<id>34be51ee6ea48f8d8e1c124063a7c6a02f890a79</id>
<content type='text'>
Abstracting the connection panel from the function for showing a descriptor
dialog. This essentially moves the outer loop which handled connection panel
navigation where it belongs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Abstracting the connection panel from the function for showing a descriptor
dialog. This essentially moves the outer loop which handled connection panel
navigation where it belongs.
</pre>
</div>
</content>
</entry>
<entry>
<title>Rewrite descriptor dialog's draw() method</title>
<updated>2015-06-27T19:31:00+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-27T19:31:00+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=55166969f6caad16c080f3cbd85d9a372eb0cc90'/>
<id>55166969f6caad16c080f3cbd85d9a372eb0cc90</id>
<content type='text'>
Not quite done with the dialog, but damn its draw method is now better. :P
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Not quite done with the dialog, but damn its draw method is now better. :P
</pre>
</div>
</content>
</entry>
<entry>
<title>Revise size calculation for the descriptor dialog</title>
<updated>2015-06-21T18:31:15+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-21T18:28:02+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=bd1ddce03d743352d234aedc8c9c0bd9c87bd646'/>
<id>bd1ddce03d743352d234aedc8c9c0bd9c87bd646</id>
<content type='text'>
Tidying up this helper. The way we accounted for the size of line wraps didn't
look right since it didn't account for additional content (line number,
framing) on the line we wrapped onto.

This still isn't quite right since it doesn't account for word breaks but
*shrug*, probably good enough in practice.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Tidying up this helper. The way we accounted for the size of line wraps didn't
look right since it didn't account for additional content (line number,
framing) on the line we wrapped onto.

This still isn't quite right since it doesn't account for word breaks but
*shrug*, probably good enough in practice.
</pre>
</div>
</content>
</entry>
<entry>
<title>Potential stacktrace when shutting down</title>
<updated>2015-06-21T18:13:13+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-21T18:13:13+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=829da61b9494941e27fae17bf9aa35239fa0ddff'/>
<id>829da61b9494941e27fae17bf9aa35239fa0ddff</id>
<content type='text'>
Our connection panel was missing a default value, causing exceptions to
possibly be uncaught...

  Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 352, in run
    self._update()
  File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 508, in _update
    for circ in tor_controller().get_circuits():
  File "/home/atagar/Desktop/nyx/stem/control.py", line 411, in wrapped
    return func(self, *args, **kwargs)
  File "/home/atagar/Desktop/nyx/stem/control.py", line 3050, in get_circuits
    response = self.get_info('circuit-status')
  File "/home/atagar/Desktop/nyx/stem/control.py", line 558, in msg
    self._socket.send(message)
  File "/home/atagar/Desktop/nyx/stem/socket.py", line 122, in send
    raise stem.SocketClosed()
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our connection panel was missing a default value, causing exceptions to
possibly be uncaught...

  Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
    self.run()
  File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 352, in run
    self._update()
  File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 508, in _update
    for circ in tor_controller().get_circuits():
  File "/home/atagar/Desktop/nyx/stem/control.py", line 411, in wrapped
    return func(self, *args, **kwargs)
  File "/home/atagar/Desktop/nyx/stem/control.py", line 3050, in get_circuits
    response = self.get_info('circuit-status')
  File "/home/atagar/Desktop/nyx/stem/control.py", line 558, in msg
    self._socket.send(message)
  File "/home/atagar/Desktop/nyx/stem/socket.py", line 122, in send
    raise stem.SocketClosed()
</pre>
</div>
</content>
</entry>
<entry>
<title>Show microdescriptors in the descriptor popup</title>
<updated>2015-06-21T17:29:06+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-20T19:24:50+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=a40455b571d7585fbc501c276a18367393b85db3'/>
<id>a40455b571d7585fbc501c276a18367393b85db3</id>
<content type='text'>
Our popup that shows relay descriptors only supported server descriptors and
the consensus since it predated microdescriptors. Including those if it's
available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Our popup that shows relay descriptors only supported server descriptors and
the consensus since it predated microdescriptors. Including those if it's
available.
</pre>
</div>
</content>
</entry>
<entry>
<title>Errors when rendering connection panel entry</title>
<updated>2015-06-11T16:58:32+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-08T16:22:23+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=91cff237a45cb9aa7d1aae53017627dc6e267083'/>
<id>91cff237a45cb9aa7d1aae53017627dc6e267083</id>
<content type='text'>
Stacktraces related to how we handle curses attributes on the connection
panel. This arose if you tried to view the panel when there was... well,
anything on it (usually if you disable DisableDebuggerAttachment).

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 576, in start_nyx
      control.redraw(False)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 402, in redraw
      panel_impl.redraw(force)
    File "/home/atagar/Desktop/nyx/nyx/util/panel.py", line 433, in redraw
      self.draw(self.max_x, self.max_y)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 464, in draw
      attr |= extra_format
  TypeError: unsupported operand type(s) for |=: 'str' and 'int'

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 576, in start_nyx
      control.redraw(False)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 402, in redraw
      panel_impl.redraw(force)
    File "/home/atagar/Desktop/nyx/nyx/util/panel.py", line 433, in redraw
      self.draw(self.max_x, self.max_y)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 463, in draw
      for msg, attr in draw_entry:
  ValueError: too many values to unpack
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Stacktraces related to how we handle curses attributes on the connection
panel. This arose if you tried to view the panel when there was... well,
anything on it (usually if you disable DisableDebuggerAttachment).

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 576, in start_nyx
      control.redraw(False)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 402, in redraw
      panel_impl.redraw(force)
    File "/home/atagar/Desktop/nyx/nyx/util/panel.py", line 433, in redraw
      self.draw(self.max_x, self.max_y)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 464, in draw
      attr |= extra_format
  TypeError: unsupported operand type(s) for |=: 'str' and 'int'

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 576, in start_nyx
      control.redraw(False)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 402, in redraw
      panel_impl.redraw(force)
    File "/home/atagar/Desktop/nyx/nyx/util/panel.py", line 433, in redraw
      self.draw(self.max_x, self.max_y)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 463, in draw
      for msg, attr in draw_entry:
  ValueError: too many values to unpack
</pre>
</div>
</content>
</entry>
<entry>
<title>Stacktrace when showing connection panel's count dialog</title>
<updated>2015-06-11T16:58:32+00:00</updated>
<author>
<name>Damian Johnson</name>
<email>atagar@torproject.org</email>
</author>
<published>2015-06-08T15:33:08+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.torproject.org/user/atagar/nyx.git/commit/?id=5969f127efef63cde02fcfe4b2617ee741b638c7'/>
<id>5969f127efef63cde02fcfe4b2617ee741b638c7</id>
<content type='text'>
Simple error when pressing 'c' on the connection panel...

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 625, in start_nyx
      is_keystroke_consumed = panel_impl.handle_key(key)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 316, in handle_key
      elif key.match('c') and self.is_clients_allowed():
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 218, in is_clients_allowed
      my_fingerprint = self.get_info('fingerprint', None)
  AttributeError: 'ConnectionPanel' object has no attribute 'get_info'
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Simple error when pressing 'c' on the connection panel...

  Traceback (most recent call last):
    File "./run_nyx", line 8, in &lt;module&gt;
      nyx.main()
    File "/home/atagar/Desktop/nyx/nyx/__init__.py", line 30, in main
      nyx.starter.main()
    File "/home/atagar/Desktop/nyx/stem/util/conf.py", line 288, in wrapped
      return func(*args, config = config, **kwargs)
    File "/home/atagar/Desktop/nyx/nyx/starter.py", line 91, in main
      curses.wrapper(nyx.controller.start_nyx)
    File "/usr/lib/python2.7/curses/wrapper.py", line 43, in wrapper
      return func(stdscr, *args, **kwds)
    File "/home/atagar/Desktop/nyx/nyx/controller.py", line 625, in start_nyx
      is_keystroke_consumed = panel_impl.handle_key(key)
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 316, in handle_key
      elif key.match('c') and self.is_clients_allowed():
    File "/home/atagar/Desktop/nyx/nyx/connections/conn_panel.py", line 218, in is_clients_allowed
      my_fingerprint = self.get_info('fingerprint', None)
  AttributeError: 'ConnectionPanel' object has no attribute 'get_info'
</pre>
</div>
</content>
</entry>
</feed>
