From b166a908c0d473efa238430eb77084a7e46fe4d8 Mon Sep 17 00:00:00 2001 From: Justin McWilliams Date: Tue, 14 May 2013 16:52:55 -0700 Subject: [PATCH] Fix "NameError: name 'report_broken_python' is not defined" crash when attempting to report a broken Python install. The file hasn't been parsed at this point, so the report_broken_python function is nonexistent. Broken in: https://code.google.com/p/munki/source/detail?r=cbb385f540643aa3a15a242ba5de513404af02ce pylint warnings should either be ignored, or disabled using a "pylint: disable-msg" annotation. --- code/client/managedsoftwareupdate | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/code/client/managedsoftwareupdate b/code/client/managedsoftwareupdate index e5a53154..5c58803e 100755 --- a/code/client/managedsoftwareupdate +++ b/code/client/managedsoftwareupdate @@ -34,23 +34,8 @@ try: from Foundation import NSNotificationDeliverImmediately from Foundation import NSNotificationPostToAllSessions except ImportError: + # Python is missing ObjC bindings. Run external report script. from munkilib import utils - report_broken_python() - sys.exit(200) -else: - from munkilib import munkicommon - from munkilib import updatecheck - from munkilib import installer - from munkilib import munkistatus - from munkilib import appleupdates - from munkilib import FoundationPlist - from munkilib import utils - - -def report_broken_python(): - """Python is missing ObjC bindings. Run external report script.""" - # Moved this to a function to prevent PyLint from complaining - # about redefining names from outer scope print >> sys.stderr, 'Python is missing ObjC bindings.' scriptdir = os.path.realpath(os.path.dirname(sys.argv[0])) script = os.path.join(scriptdir, 'report_broken_client') @@ -61,6 +46,15 @@ def report_broken_python(): pass # script is not required, so pass except utils.RunExternalScriptError, err: print >> sys.stderr, str(err) + sys.exit(200) +else: + from munkilib import munkicommon + from munkilib import updatecheck + from munkilib import installer + from munkilib import munkistatus + from munkilib import appleupdates + from munkilib import FoundationPlist + from munkilib import utils def signal_handler(signum, unused_frame):