[tor-commits] [nyx/master] Merge init_controller() into controller constructor

atagar at torproject.org atagar at torproject.org
Mon Feb 15 14:45:09 UTC 2016


commit 5f975c93855f2d53a678eb701ea6229a0f6ece59
Author: Damian Johnson <atagar at torproject.org>
Date:   Wed Feb 10 19:53:07 2016 -0800

    Merge init_controller() into controller constructor
    
    Now that the init method just calls simple constructors we may as well do this
    in the Controller class.
---
 nyx/controller.py | 86 ++++++++++++++++++++-----------------------------------
 1 file changed, 31 insertions(+), 55 deletions(-)

diff --git a/nyx/controller.py b/nyx/controller.py
index 7b0a276..e35c929 100644
--- a/nyx/controller.py
+++ b/nyx/controller.py
@@ -76,54 +76,6 @@ def stop_controller():
   return halt_thread
 
 
-def init_controller(stdscr):
-  """
-  Spawns the controller, and related panels for it.
-
-  Arguments:
-    stdscr - curses window
-  """
-
-  global NYX_CONTROLLER
-
-  # initializes the panels
-
-  sticky_panels = [
-    nyx.header_panel.HeaderPanel(stdscr),
-    LabelPanel(stdscr),
-  ]
-
-  page_panels, first_page_panels = [], []
-
-  # first page: graph and log
-  if CONFIG['features.panels.show.graph']:
-    first_page_panels.append(nyx.graph_panel.GraphPanel(stdscr))
-
-  if CONFIG['features.panels.show.log']:
-    first_page_panels.append(nyx.log_panel.LogPanel(stdscr))
-
-  if first_page_panels:
-    page_panels.append(first_page_panels)
-
-  # second page: connections
-  if CONFIG['features.panels.show.connection']:
-    page_panels.append([nyx.connection_panel.ConnectionPanel(stdscr)])
-
-  # third page: config
-
-  if CONFIG['features.panels.show.config']:
-    page_panels.append([nyx.config_panel.ConfigPanel(stdscr)])
-
-  # fourth page: torrc
-
-  if CONFIG['features.panels.show.torrc']:
-    page_panels.append([nyx.torrc_panel.TorrcPanel(stdscr)])
-
-  # initializes the controller
-
-  NYX_CONTROLLER = Controller(stdscr, sticky_panels, page_panels)
-
-
 class LabelPanel(panel.Panel):
   """
   Panel that just displays a single line of text.
@@ -158,21 +110,43 @@ class Controller:
   Tracks the global state of the interface
   """
 
-  def __init__(self, stdscr, sticky_panels, page_panels):
+  def __init__(self, stdscr):
     """
     Creates a new controller instance. Panel lists are ordered as they appear,
     top to bottom on the page.
 
     Arguments:
       stdscr       - curses window
-      sticky_panels - panels shown at the top of each page
-      page_panels   - list of pages, each being a list of the panels on it
     """
 
-    self.quit_signal = False
     self._screen = stdscr
-    self._sticky_panels = sticky_panels
-    self._page_panels = page_panels
+
+    self._sticky_panels = [
+      nyx.header_panel.HeaderPanel(stdscr),
+      LabelPanel(stdscr),
+    ]
+
+    self._page_panels, first_page_panels = [], []
+
+    if CONFIG['features.panels.show.graph']:
+      first_page_panels.append(nyx.graph_panel.GraphPanel(stdscr))
+
+    if CONFIG['features.panels.show.log']:
+      first_page_panels.append(nyx.log_panel.LogPanel(stdscr))
+
+    if first_page_panels:
+      self._page_panels.append(first_page_panels)
+
+    if CONFIG['features.panels.show.connection']:
+      self._page_panels.append([nyx.connection_panel.ConnectionPanel(stdscr)])
+
+    if CONFIG['features.panels.show.config']:
+      self._page_panels.append([nyx.config_panel.ConfigPanel(stdscr)])
+
+    if CONFIG['features.panels.show.torrc']:
+      self._page_panels.append([nyx.torrc_panel.TorrcPanel(stdscr)])
+
+    self.quit_signal = False
     self._page = 0
     self._is_paused = False
     self._force_redraw = False
@@ -408,7 +382,9 @@ def start_nyx(stdscr):
     stdscr    - curses window
   """
 
-  init_controller(stdscr)
+  global NYX_CONTROLLER
+
+  NYX_CONTROLLER = Controller(stdscr)
   control = get_controller()
 
   if not CONFIG['features.acsSupport']:





More information about the tor-commits mailing list