aboutsummaryrefslogtreecommitdiff
path: root/nxdialog
diff options
context:
space:
mode:
authorUlrich Sibiller <uli42@gmx.de>2019-02-28 17:46:48 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2019-03-01 12:48:32 +0100
commit2aa575f0db642fc9a5820488440a48f235d8a89c (patch)
tree3b7d80a77a9acda585a296bf15a9a06f2e564aa4 /nxdialog
parent486cc6f502e35b958fcf531ba157c1c420e6c95c (diff)
downloadnx-libs-2aa575f0db642fc9a5820488440a48f235d8a89c.tar.gz
nx-libs-2aa575f0db642fc9a5820488440a48f235d8a89c.tar.bz2
nx-libs-2aa575f0db642fc9a5820488440a48f235d8a89c.zip
nxdialog: pylint improvements
Diffstat (limited to 'nxdialog')
-rwxr-xr-xnxdialog/nxdialog449
1 files changed, 228 insertions, 221 deletions
diff --git a/nxdialog/nxdialog b/nxdialog/nxdialog
index 78fa62ae3..f7c061e17 100755
--- a/nxdialog/nxdialog
+++ b/nxdialog/nxdialog
@@ -76,294 +76,301 @@ VALID_DLG_TYPES = frozenset([
DLG_TYPE_QUIT,
DLG_TYPE_YESNO,
DLG_TYPE_YESNOSUSPEND,
- ])
+])
+
class PullDownMenu(object):
- """ Shows a popup menu to disconnect/terminate session. """
+ """ Shows a popup menu to disconnect/terminate session. """
- def __init__(self, window_id):
- """ Initializes this class.
+ def __init__(self, window_id):
+ """ Initializes this class.
- @type window_id: int
- @param window_id: X11 window id of target window
+ @type window_id: int
+ @param window_id: X11 window id of target window
- """
- self._window_id = window_id
- self._result = None
+ """
+ self.window_id = window_id
+ self.result = None
- def Show(self):
- """ Shows popup and returns result. """
+ def show(self):
+ """ Shows popup and returns result. """
- win = gtk.gdk.window_foreign_new(self._window_id)
+ win = gtk.gdk.window_foreign_new(self.window_id)
- menu = gtk.Menu()
- menu.connect("deactivate", self._MenuDeactivate)
+ menu = gtk.Menu()
+ menu.connect("deactivate", self.menu_deactivate)
- # TODO: Show title item in bold font
- title = gtk.MenuItem(label="Session control")
- title.set_sensitive(False)
- menu.append(title)
+ # TODO: Show title item in bold font
+ title = gtk.MenuItem(label="Session control")
+ title.set_sensitive(False)
+ menu.append(title)
- disconnect = gtk.MenuItem(label=DISCONNECT_TEXT)
- disconnect.connect("activate", self._ItemActivate, DISCONNECT)
- menu.append(disconnect)
+ disconnect = gtk.MenuItem(label=DISCONNECT_TEXT)
+ disconnect.connect("activate", self.item_activate, DISCONNECT)
+ menu.append(disconnect)
- terminate = gtk.MenuItem(label=TERMINATE_TEXT)
- terminate.connect("activate", self._ItemActivate, TERMINATE)
- menu.append(terminate)
+ terminate = gtk.MenuItem(label=TERMINATE_TEXT)
+ terminate.connect("activate", self.item_activate, TERMINATE)
+ menu.append(terminate)
- menu.append(gtk.SeparatorMenuItem())
+ menu.append(gtk.SeparatorMenuItem())
- cancel = gtk.MenuItem(label=CANCEL_TEXT)
- menu.append(cancel)
+ cancel = gtk.MenuItem(label=CANCEL_TEXT)
+ menu.append(cancel)
- menu.show_all()
+ menu.show_all()
- menu.popup(parent_menu_shell=None, parent_menu_item=None,
- func=self._PosMenu, data=win,
- button=0, activate_time=gtk.get_current_event_time())
+ menu.popup(parent_menu_shell=None, parent_menu_item=None,
+ func=self.pos_menu, data=win,
+ button=0, activate_time=gtk.get_current_event_time())
- gtk.main()
+ gtk.main()
- return self._result
+ return self.result
- def _ItemActivate(self, _, result):
- """ called when a menu item is selected """
- self._result = result
- gtk.main_quit()
+ def item_activate(self, _, result):
+ """ called when a menu item is selected """
+ self.result = result
+ gtk.main_quit()
- def _MenuDeactivate(self, _):
- """ called when menu is deactivated """
- gtk.main_quit()
+ @staticmethod
+ def menu_deactivate(_):
+ """ called when menu is deactivated """
+ gtk.main_quit()
- def _PosMenu(self, menu, parent):
- """ Positions menu at the top center of the parent window. """
- # Get parent geometry and origin
- (_, _, win_width, _, _) = parent.get_geometry()
- (win_x, win_y) = parent.get_origin()
+ @staticmethod
+ def pos_menu(menu, parent):
+ """ Positions menu at the top center of the parent window. """
+ # Get parent geometry and origin
+ (_, _, win_width, _, _) = parent.get_geometry()
+ (win_x, win_y) = parent.get_origin()
- # Calculate width of menu
- (menu_width, _) = menu.size_request()
+ # Calculate width of menu
+ (menu_width, _) = menu.size_request()
- # Calculate center
- x = win_x + ((win_width - menu_width) / 2)
+ # Calculate center
+ center_x = win_x + ((win_width - menu_width) / 2)
- return (x, win_y, True)
+ return (center_x, win_y, True)
-def ShowYesNoSuspendBox(title, text):
- """ Shows a message box to disconnect/terminate session.
+def show_yes_no_suspend_box(title, text):
+ """ Shows a message box to disconnect/terminate session.
- @type title: str
- @param title: Message box title
- @type text: str
- @param text: Message box text
- @return: Choosen action
+ @type title: str
+ @param title: Message box title
+ @type text: str
+ @param text: Message box text
+ @return: Choosen action
- """
- dlg = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION, flags=gtk.DIALOG_MODAL)
- dlg.set_title(title)
- dlg.set_markup(text)
- dlg.add_button(DISCONNECT_TEXT, DISCONNECT)
- dlg.add_button(TERMINATE_TEXT, TERMINATE)
- dlg.add_button(CANCEL_TEXT, gtk.RESPONSE_CANCEL)
+ """
+ dlg = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION, flags=gtk.DIALOG_MODAL)
+ dlg.set_title(title)
+ dlg.set_markup(text)
+ dlg.add_button(DISCONNECT_TEXT, DISCONNECT)
+ dlg.add_button(TERMINATE_TEXT, TERMINATE)
+ dlg.add_button(CANCEL_TEXT, gtk.RESPONSE_CANCEL)
- res = dlg.run()
+ res = dlg.run()
- if res in (DISCONNECT, TERMINATE):
- return res
+ if res in (DISCONNECT, TERMINATE):
+ return res
- # Everything else is cancel
- return None
+ # Everything else is cancel
+ return None
-def ShowYesNoBox(title, text):
- """ Shows a message box with answers yes and no.
+def show_yes_no_box(title, text):
+ """ Shows a message box with answers yes and no.
- @type title: str
- @param title: Message box title
- @type text: str
- @param text: Message box text
- @return: Choosen action
+ @type title: str
+ @param title: Message box title
+ @type text: str
+ @param text: Message box text
+ @return: Choosen action
- """
- dlg = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION, flags=gtk.DIALOG_MODAL)
- dlg.set_title(title)
- dlg.set_markup(text)
- dlg.add_button(YES_TEXT, TERMINATE)
- dlg.add_button(NO_TEXT, gtk.RESPONSE_CANCEL)
+ """
+ dlg = gtk.MessageDialog(type=gtk.MESSAGE_QUESTION, flags=gtk.DIALOG_MODAL)
+ dlg.set_title(title)
+ dlg.set_markup(text)
+ dlg.add_button(YES_TEXT, TERMINATE)
+ dlg.add_button(NO_TEXT, gtk.RESPONSE_CANCEL)
- res = dlg.run()
+ res = dlg.run()
- if res == TERMINATE:
- return res
+ if res == TERMINATE:
+ return res
- # Everything else is cancel
- return None
+ # Everything else is cancel
+ return None
-def HandleSessionAction(agentpid, action):
- """ Execute session action choosen by user.
+def handle_session_action(agentpid, action):
+ """ Execute session action choosen by user.
- @type agentpid: int
- @param agentpid: Nxagent process id as passed by command line
- @type action: int or None
- @param action: Choosen action
+ @type agentpid: int
+ @param agentpid: Nxagent process id as passed by command line
+ @type action: int or None
+ @param action: Choosen action
- """
+ """
- if action == DISCONNECT:
- print "Disconnecting from session, sending SIGHUP to %s" % (agentpid)
- os.kill(agentpid, signal.SIGHUP)
+ if action == DISCONNECT:
+ print "Disconnecting from session, sending SIGHUP to %s" % (agentpid)
+ os.kill(agentpid, signal.SIGHUP)
- elif action == TERMINATE:
- print "Terminating session, sending SIGTERM to process %s" % (agentpid)
- os.kill(agentpid, signal.SIGTERM)
+ elif action == TERMINATE:
+ print "Terminating session, sending SIGTERM to process %s" % (agentpid)
+ os.kill(agentpid, signal.SIGTERM)
- elif action is None:
- pass
+ elif action is None:
+ pass
- else:
- raise NotImplementedError()
+ else:
+ raise NotImplementedError()
-def ShowSimpleMessageBox(icon, title, text):
- """ Shows a simple message box.
+def show_simple_message_box(icon, title, text):
+ """ Shows a simple message box.
- @type icon: QMessageBox.Icon
- @param icon: Icon for message box
- @type title: str
- @param title: Message box title
- @type text: str
- @param text: Message box text
+ @type icon: QMessageBox.Icon
+ @param icon: Icon for message box
+ @type title: str
+ @param title: Message box title
+ @type text: str
+ @param text: Message box text
- """
- dlg = gtk.MessageDialog(type=icon, flags=gtk.DIALOG_MODAL,
- buttons=gtk.BUTTONS_OK)
- dlg.set_title(title)
- dlg.set_markup(text)
- dlg.run()
+ """
+ dlg = gtk.MessageDialog(type=icon, flags=gtk.DIALOG_MODAL,
+ buttons=gtk.BUTTONS_OK)
+ dlg.set_title(title)
+ dlg.set_markup(text)
+ dlg.run()
class NxDialogProgram(object):
- """ the main program """
- def __init__(self):
- self.args = None
- self.options = None
-
- def Main(self):
- """ let's do something """
- try:
- (self.options, self.args) = self.ParseArgs()
-
- self.Run()
-
- except (SystemExit, KeyboardInterrupt):
- raise
-
- except Exception, e:
- sys.stderr.write("Caught exception: %s\n" % (e))
- sys.exit(EXIT_FAILURE)
-
- def ParseArgs(self):
- """ init parser """
- parser = optparse.OptionParser(option_list=self.BuildOptions(),
- formatter=optparse.TitledHelpFormatter())
- return parser.parse_args()
-
- def BuildOptions(self):
- """ build options for the parser """
- return [
- # nxagent 3.5.99.18 only uses yesno, ok, pulldown and yesnosuspend
- # yesno dialogs will always kill the session if "yes" is selected
- optparse.make_option("--dialog", type="string", dest="dialog_type",
- help='type of dialog to show, one of "yesno", \
- "ok", "error", "panic", "quit", "pulldown", \
- "yesnosuspend"'),
- optparse.make_option("--message", type="string", dest="text",
- help="message text to display in the dialog"),
- optparse.make_option("--caption", type="string", dest="caption",
- help="window title of the dialog"),
- optparse.make_option("--display", type="string", dest="display",
- help="X11 display where the dialog should be \
- shown"),
- optparse.make_option("--parent", type="int", dest="agentpid",
- help="pid of the nxagent"),
- optparse.make_option("--window", type="int", dest="window",
- help="id of window where to embed the \
- pulldown dialog type"),
- # -class, -local, -allowmultiple are unused in nxlibs 3.5.99.18
- optparse.make_option("--class", type="string", dest="dlgclass",
- default="info",
- help="class of the message (info, warning, error) \
- default: info) [currently unimplemented]"),
- optparse.make_option("--local", action="store_true", dest="local",
- help="specify that proxy mode is used \
+ """ the main program """
+
+ def __init__(self):
+ self.args = None
+ self.options = None
+
+ def main(self):
+ """ let's do something """
+ try:
+ (self.options, self.args) = self.parse_args()
+
+ self.run()
+
+ except (SystemExit, KeyboardInterrupt):
+ raise
+
+ except Exception, expt:
+ sys.stderr.write("Caught exception: %s\n" % (expt))
+ sys.exit(EXIT_FAILURE)
+
+ def parse_args(self):
+ """ init parser """
+ parser = optparse.OptionParser(option_list=self.build_options(),
+ formatter=optparse.TitledHelpFormatter())
+ return parser.parse_args()
+
+ @staticmethod
+ def build_options():
+ """ build options for the parser """
+ return [
+ # nxagent 3.5.99.18 only uses yesno, ok, pulldown and yesnosuspend
+ # yesno dialogs will always kill the session if "yes" is selected
+ optparse.make_option("--dialog", type="string", dest="dialog_type",
+ help='type of dialog to show, one of "yesno", \
+ "ok", "error", "panic", "quit", "pulldown", \
+ "yesnosuspend"'),
+ optparse.make_option("--message", type="string", dest="text",
+ help="message text to display in the dialog"),
+ optparse.make_option("--caption", type="string", dest="caption",
+ help="window title of the dialog"),
+ optparse.make_option("--display", type="string", dest="display",
+ help="X11 display where the dialog should be \
+ shown"),
+ optparse.make_option("--parent", type="int", dest="agentpid",
+ help="pid of the nxagent"),
+ optparse.make_option("--window", type="int", dest="window",
+ help="id of window where to embed the \
+ pulldown dialog type"),
+ # -class, -local, -allowmultiple are unused in nxlibs 3.5.99.18
+ optparse.make_option("--class", type="string", dest="dlgclass",
+ default="info",
+ help="class of the message (info, warning, error) \
+ default: info) [currently unimplemented]"),
+ optparse.make_option("--local", action="store_true", dest="local",
+ help="specify that proxy mode is used \
[currently unimplemented]"),
- optparse.make_option("--allowmultiple", action="store_true",
- dest="allowmultiple",
- help="allow launching more than one dialog with \
- the same message [currently unimplemented]"),
- ]
+ optparse.make_option("--allowmultiple", action="store_true",
+ dest="allowmultiple",
+ help="allow launching more than one dialog with \
+ the same message [currently unimplemented]"),
+ ]
- def Run(self):
- """ Disconnect/terminate NX session upon user's request. """
+ def run(self):
+ """ Disconnect/terminate NX session upon user's request. """
- if not self.options.dialog_type:
- sys.stderr.write("Dialog type not supplied via --type\n")
- sys.exit(EXIT_FAILURE)
+ if not self.options.dialog_type:
+ sys.stderr.write("Dialog type not supplied via --type\n")
+ sys.exit(EXIT_FAILURE)
- dlgtype = self.options.dialog_type
+ dlgtype = self.options.dialog_type
- if dlgtype not in VALID_DLG_TYPES:
- sys.stderr.write("Invalid dialog type '%s'\n" % (dlgtype))
- sys.exit(EXIT_FAILURE)
+ if dlgtype not in VALID_DLG_TYPES:
+ sys.stderr.write("Invalid dialog type '%s'\n" % (dlgtype))
+ sys.exit(EXIT_FAILURE)
- if dlgtype in (DLG_TYPE_PULLDOWN,
- DLG_TYPE_YESNOSUSPEND,
- DLG_TYPE_YESNO) and not self.options.agentpid:
- sys.stderr.write("Agent pid not supplied via --parent\n")
- sys.exit(EXIT_FAILURE)
+ if dlgtype in (DLG_TYPE_PULLDOWN,
+ DLG_TYPE_YESNOSUSPEND,
+ DLG_TYPE_YESNO) and not self.options.agentpid:
+ sys.stderr.write("Agent pid not supplied via --parent\n")
+ sys.exit(EXIT_FAILURE)
- if dlgtype == DLG_TYPE_PULLDOWN and not self.options.window:
- sys.stderr.write("Window id not supplied via --window\n")
- sys.exit(EXIT_FAILURE)
+ if dlgtype == DLG_TYPE_PULLDOWN and not self.options.window:
+ sys.stderr.write("Window id not supplied via --window\n")
+ sys.exit(EXIT_FAILURE)
- if self.options.caption:
- message_caption = self.options.caption
- else:
- message_caption = sys.argv[0]
+ if self.options.caption:
+ message_caption = self.options.caption
+ else:
+ message_caption = sys.argv[0]
- if self.options.text:
- message_text = self.options.text
- else:
- message_text = ""
+ if self.options.text:
+ message_text = self.options.text
+ else:
+ message_text = ""
- if self.options.display:
- os.environ["DISPLAY"] = self.options.display
+ if self.options.display:
+ os.environ["DISPLAY"] = self.options.display
- if dlgtype == DLG_TYPE_OK:
- ShowSimpleMessageBox(gtk.MESSAGE_INFO, message_caption, message_text)
+ if dlgtype == DLG_TYPE_OK:
+ show_simple_message_box(
+ gtk.MESSAGE_INFO, message_caption, message_text)
- elif dlgtype in (DLG_TYPE_ERROR, DLG_TYPE_PANIC):
- ShowSimpleMessageBox(gtk.MESSAGE_ERROR, message_caption, message_text)
+ elif dlgtype in (DLG_TYPE_ERROR, DLG_TYPE_PANIC):
+ show_simple_message_box(
+ gtk.MESSAGE_ERROR, message_caption, message_text)
- elif dlgtype == DLG_TYPE_PULLDOWN:
- HandleSessionAction(self.options.agentpid,
- PullDownMenu(self.options.window).Show())
+ elif dlgtype == DLG_TYPE_PULLDOWN:
+ handle_session_action(self.options.agentpid,
+ PullDownMenu(self.options.window).show())
- elif dlgtype == DLG_TYPE_YESNOSUSPEND:
- HandleSessionAction(self.options.agentpid,
- ShowYesNoSuspendBox(message_caption, message_text))
+ elif dlgtype == DLG_TYPE_YESNOSUSPEND:
+ handle_session_action(self.options.agentpid,
+ show_yes_no_suspend_box(message_caption, message_text))
- elif dlgtype == DLG_TYPE_YESNO:
- HandleSessionAction(self.options.agentpid,
- ShowYesNoBox(message_caption, message_text))
+ elif dlgtype == DLG_TYPE_YESNO:
+ handle_session_action(self.options.agentpid,
+ show_yes_no_box(message_caption, message_text))
- else:
- # TODO: Implement all dialog types
- sys.stderr.write("Dialog type '%s' not implemented" % (dlgtype))
- sys.exit(EXIT_FAILURE)
+ else:
+ # TODO: Implement all dialog types
+ sys.stderr.write("Dialog type '%s' not implemented" % (dlgtype))
+ sys.exit(EXIT_FAILURE)
-NxDialogProgram().Main()
+NxDialogProgram().main()