diff options
author | Walter Bender <walter@sugarlabs.org> | 2014-01-11 19:26:17 (GMT) |
---|---|---|
committer | Walter Bender <walter@sugarlabs.org> | 2014-01-11 19:26:17 (GMT) |
commit | 65d5b9d037ce7ed6c61c9aa7031542f8c2901e0b (patch) | |
tree | 253a48b239f9597220d247730f91a2bd2a6bc585 | |
parent | 554ba43f435dc8e5761ae8bf7d86f678483c8144 (diff) |
pep8 cleanup
-rw-r--r-- | pippy_app.py | 303 |
1 files changed, 153 insertions, 150 deletions
diff --git a/pippy_app.py b/pippy_app.py index f66a438..1b459bf 100644 --- a/pippy_app.py +++ b/pippy_app.py @@ -48,11 +48,11 @@ from gettext import gettext as _ from sugar3.datastore import datastore from sugar3.activity.widgets import EditToolbar from sugar3.activity.widgets import StopButton -from sugar3.activity.activity import get_bundle_path from sugar3.activity.activity import get_bundle_name -from sugar3.graphics.alert import NotifyAlert -from sugar3.graphics.alert import ConfirmationAlert +from sugar3.activity.activity import get_bundle_path from sugar3.graphics.alert import Alert +from sugar3.graphics.alert import ConfirmationAlert +from sugar3.graphics.alert import NotifyAlert from sugar3.graphics import style from sugar3.graphics.icon import Icon from sugar3.graphics.objectchooser import ObjectChooser @@ -71,10 +71,11 @@ from IconDialog import IconDialog text_buffer = None # magic prefix to use utf-8 source encoding -PYTHON_PREFIX = """#!/usr/bin/python +PYTHON_PREFIX = '''#!/usr/bin/python # -*- coding: utf-8 -*- -""" -default_categoties = [_('graphics'), _('math'), _('pyhton'), _('sound'), +''' +# Force category names into Pootle +DEFAULT_CATEGORIES = [_('graphics'), _('math'), _('pyhton'), _('sound'), _('string'), _('tutorials')] from sugar3.graphics.toolbarbox import ToolbarButton @@ -101,7 +102,7 @@ setup(name='{modulename}', class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): - """Pippy Activity as specified in activity.info""" + '''Pippy Activity as specified in activity.info''' def early_setup(self): from gi.repository import GtkSource self.initial_text_buffer = GtkSource.Buffer() @@ -110,7 +111,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): self.loaded_session = [] self.session_data = [] - sys.path.append(os.path.join(self.get_activity_root(), "Library")) + sys.path.append(os.path.join(self.get_activity_root(), 'Library')) def initialize_display(self): self._logger = logging.getLogger('pippy-activity') @@ -123,39 +124,39 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): separator.show() activity_toolbar.insert(separator, -1) - import_py_button = ToolButton("pippy-import-doc") - import_py_button.set_tooltip(_("Import Python file to new tab")) - import_py_button.connect("clicked", self._import_py_cb) + import_py_button = ToolButton('pippy-import-doc') + import_py_button.set_tooltip(_('Import Python file to new tab')) + import_py_button.connect('clicked', self._import_py_cb) import_py_button.show() activity_toolbar.insert(import_py_button, -1) export_doc_button = ToolButton('pippy-export-doc') - export_doc_button.set_tooltip(_("Export as Pippy document")) + export_doc_button.set_tooltip(_('Export as Pippy document')) export_doc_button.connect('clicked', self._export_document_cb) export_doc_button.show() activity_toolbar.insert(export_doc_button, -1) - save_as_library = ToolButton("pippy-export-library") - save_as_library.set_tooltip(_("Save this file to the Pippy library")) - save_as_library.connect("clicked", self._save_as_library) + save_as_library = ToolButton('pippy-export-library') + save_as_library.set_tooltip(_('Save this file to the Pippy library')) + save_as_library.connect('clicked', self._save_as_library) save_as_library.show() activity_toolbar.insert(save_as_library, -1) export_example_button = ToolButton('pippy-export-example') - export_example_button.set_tooltip(_("Export as new Pippy example")) + export_example_button.set_tooltip(_('Export as new Pippy example')) export_example_button.connect('clicked', self._export_example_cb) export_example_button.show() activity_toolbar.insert(export_example_button, -1) create_bundle_button = ToolButton('pippy-create-bundle') - create_bundle_button.set_tooltip(_("Create a Sugar activity bundle")) + create_bundle_button.set_tooltip(_('Create a Sugar activity bundle')) create_bundle_button.connect('clicked', self._create_bundle_cb) create_bundle_button.show() activity_toolbar.insert(create_bundle_button, -1) - export_disutils = ToolButton("pippy-create-disutils") - export_disutils.set_tooltip(_("Export as a disutils package")) - export_disutils.connect("clicked", self.__export_disutils_cb) + export_disutils = ToolButton('pippy-create-disutils') + export_disutils.set_tooltip(_('Export as a disutils package')) + export_disutils.connect('clicked', self.__export_disutils_cb) export_disutils.show() activity_toolbar.insert(export_disutils, -1) @@ -176,20 +177,20 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): actions_toolbar = self.get_toolbar_box().toolbar - self.toggle_output = ToggleToolButton("tray-show") - self.toggle_output.set_tooltip(_("Show output panel")) - self.toggle_output.connect("toggled", self._toggle_output_cb) + self.toggle_output = ToggleToolButton('tray-show') + self.toggle_output.set_tooltip(_('Show output panel')) + self.toggle_output.connect('toggled', self._toggle_output_cb) actions_toolbar.insert(self.toggle_output, -1) # The "go" button goicon_bw = Gtk.Image() - goicon_bw.set_from_file("%s/icons/run_bw.svg" % os.getcwd()) + goicon_bw.set_from_file('%s/icons/run_bw.svg' % os.getcwd()) goicon_color = Gtk.Image() - goicon_color.set_from_file("%s/icons/run_color.svg" % os.getcwd()) - gobutton = ToolButton(label=_("Run!")) + goicon_color.set_from_file('%s/icons/run_color.svg' % os.getcwd()) + gobutton = ToolButton(label=_('Run!')) gobutton.props.accelerator = _('<alt>r') gobutton.set_icon_widget(goicon_bw) - gobutton.set_tooltip(_("Run!")) + gobutton.set_tooltip(_('Run!')) gobutton.connect('clicked', self.flash_cb, dict({'bw': goicon_bw, 'color': goicon_color})) gobutton.connect('clicked', self.gobutton_cb) @@ -197,40 +198,40 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): # The "stop" button stopicon_bw = Gtk.Image() - stopicon_bw.set_from_file("%s/icons/stopit_bw.svg" % os.getcwd()) + stopicon_bw.set_from_file('%s/icons/stopit_bw.svg' % os.getcwd()) stopicon_color = Gtk.Image() - stopicon_color.set_from_file("%s/icons/stopit_color.svg" % os.getcwd()) - stopbutton = ToolButton(label=_("Stop")) + stopicon_color.set_from_file('%s/icons/stopit_color.svg' % os.getcwd()) + stopbutton = ToolButton(label=_('Stop')) stopbutton.props.accelerator = _('<alt>s') stopbutton.set_icon_widget(stopicon_bw) stopbutton.connect('clicked', self.flash_cb, dict({'bw': stopicon_bw, 'color': stopicon_color})) stopbutton.connect('clicked', self.stopbutton_cb) - stopbutton.set_tooltip(_("Stop")) + stopbutton.set_tooltip(_('Stop')) actions_toolbar.insert(stopbutton, -1) # The "clear" button clearicon_bw = Gtk.Image() - clearicon_bw.set_from_file("%s/icons/eraser_bw.svg" % os.getcwd()) + clearicon_bw.set_from_file('%s/icons/eraser_bw.svg' % os.getcwd()) clearicon_color = Gtk.Image() - clearicon_color.set_from_file("%s/icons/eraser_color.svg" % + clearicon_color.set_from_file('%s/icons/eraser_color.svg' % os.getcwd()) - clearbutton = ToolButton(label=_("Clear")) + clearbutton = ToolButton(label=_('Clear')) clearbutton.props.accelerator = _('<alt>c') clearbutton.set_icon_widget(clearicon_bw) clearbutton.connect('clicked', self.clearbutton_cb) clearbutton.connect('clicked', self.flash_cb, dict({'bw': clearicon_bw, 'color': clearicon_color})) - clearbutton.set_tooltip(_("Clear")) + clearbutton.set_tooltip(_('Clear')) actions_toolbar.insert(clearbutton, -1) activity_toolbar.show() - examples = ToolButton("pippy-openoff") - examples.set_tooltip(_("Load example")) - examples.connect("clicked", self.load_example) + examples = ToolButton('pippy-openoff') + examples.set_tooltip(_('Load example')) + examples.connect('clicked', self.load_example) self.get_toolbar_box().toolbar.insert(Gtk.SeparatorToolItem(), -1) self.get_toolbar_box().toolbar.insert(examples, -1) @@ -283,13 +284,13 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): # check if dir exists in pref language, if exists, add it if os.path.exists(os.path.join(lang_path, folder)): direntry = { - "name": _(folder.capitalize()), - "path": os.path.join(lang_path, folder) + "/"} + 'name': _(folder.capitalize()), + 'path': os.path.join(lang_path, folder) + '/'} # if not try to see if it's in default English path elif os.path.exists(os.path.join(en_lang_path, folder)): direntry = { - "name": _(folder.capitalize()), - "path": os.path.join(en_lang_path, folder) + "/"} + 'name': _(folder.capitalize()), + 'path': os.path.join(en_lang_path, folder) + '/'} self.paths.append([direntry['name'], direntry['path']]) # Adding local examples @@ -297,7 +298,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): self.paths.append([_('My examples'), root]) self.source_tabs = SourceNotebook(self) - self.source_tabs.connect("tab-added", self._add_source_cb) + self.source_tabs.connect('tab-added', self._add_source_cb) if self.loaded_from_journal and self.py_file: self.source_tabs.add_tab( self.initial_title, @@ -341,15 +342,15 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): shown = button.get_active() if shown: self.outbox.show_all() - self.toggle_output.set_tooltip(_("Hide output panel")) - self.toggle_output.set_icon_name("tray-hide") + self.toggle_output.set_tooltip(_('Hide output panel')) + self.toggle_output.set_icon_name('tray-hide') else: self.outbox.hide() - self.toggle_output.set_tooltip(_("Show output panel")) - self.toggle_output.set_icon_name("tray-show") + self.toggle_output.set_tooltip(_('Show output panel')) + self.toggle_output.set_icon_name('tray-show') def load_example(self, widget): - widget.set_icon_name("pippy-openon") + widget.set_icon_name('pippy-openon') dialog = FileDialog(self.paths, self, widget) dialog.run() path = dialog.get_path() @@ -376,11 +377,11 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): def selection_cb(self, value): self.save() - self._logger.debug("clicked! %s" % value['path']) + self._logger.debug('clicked! %s' % value['path']) _file = open(value['path'], 'r') lines = _file.readlines() text_buffer = self.source_tabs.get_text_buffer() - text_buffer.set_text("".join(lines)) + text_buffer.set_text(''.join(lines)) text_buffer.set_modified(False) self.metadata['title'] = value['name'] self.stopbutton_cb(None) @@ -392,8 +393,9 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): if text_buffer.get_modified(): alert = ConfirmationAlert() alert.props.title = _('Example selection Warning') - alert.props.msg = _('You have modified the currently selected file. \ - Discard changes?') + alert.props.msg = \ + _('You have modified the currently selected file. ' + 'Discard changes?') alert.connect('response', self._discard_changes_cb, path) self.add_alert(alert) return False @@ -428,7 +430,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): def clearbutton_cb(self, button): self.save() text_buffer = self.source_tabs.get_text_buffer() - text_buffer.set_text("") + text_buffer.set_text('') text_buffer.set_modified(False) self.metadata['title'] = _('%s Activity') % get_bundle_name() self.stopbutton_cb(None) @@ -440,7 +442,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): zipdata = zip(data[0], data[1]) for name, content in zipdata: with open(os.path.join(tmp_dir, name), 'w') as f: - # write utf-8 coding prefix if there's not already one + # Write utf-8 coding prefix if there's not one already if re.match(r'coding[:=]\s*([-\w.]+)', '\n'.join(content.splitlines()[:2])) is None: f.write(PYTHON_PREFIX) @@ -448,7 +450,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): def _reset_vte(self): self._vte.grab_focus() - self._vte.feed("\x1B[H\x1B[J\x1B[0;39m") + self._vte.feed('\x1B[H\x1B[J\x1B[0;39m') def __undobutton_cb(self, butston): text_buffer = self.source_tabs.get_text_buffer() @@ -470,7 +472,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): def gobutton_cb(self, button): from shutil import copy2 - self.stopbutton_cb(button) # try stopping old code first. + self.stopbutton_cb(button) # Try stopping old code first. self._reset_vte() # FIXME: We're losing an odd race here @@ -487,18 +489,18 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): pippy_tmp_dir, self.source_tabs.get_current_file_name()) - # write activity.py here too, to support pippy-based activities. + # Write activity.py here too, to support pippy-based activities. copy2('%s/activity.py' % get_bundle_path(), '%s/tmp/activity.py' % self.get_activity_root()) self._pid = self._vte.fork_command_full( Vte.PtyFlags.DEFAULT, get_bundle_path(), - ["/bin/sh", "-c", "python %s; sleep 1" % current_file, - "PYTHONPATH=%s/library:%s" % (get_bundle_path(), - os.getenv("PYTHONPATH", ""))], - ["PYTHONPATH=%s/library:%s" % (get_bundle_path(), - os.getenv("PYTHONPATH", ""))], + ['/bin/sh', '-c', 'python %s; sleep 1' % current_file, + 'PYTHONPATH=%s/library:%s' % (get_bundle_path(), + os.getenv('PYTHONPATH', ''))], + ['PYTHONPATH=%s/library:%s' % (get_bundle_path(), + os.getenv('PYTHONPATH', ''))], GLib.SpawnFlags.DO_NOT_REAP_CHILD, None, None,) @@ -508,10 +510,10 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): if self._pid is not None: os.kill(self._pid[1], SIGTERM) except: - pass # process must already be dead. + pass # Process must already be dead. def _save_as_library(self, button): - library_dir = os.path.join(get_bundle_path(), "library") + library_dir = os.path.join(get_bundle_path(), 'library') file_name = self.source_tabs.get_current_file_name() text_buffer = self.source_tabs.get_text_buffer() content = text_buffer.get_text( @@ -521,7 +523,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): if not os.path.isdir(library_dir): os.mkdir(library_dir) - with open(os.path.join(library_dir, file_name), "w") as f: + with open(os.path.join(library_dir, file_name), 'w') as f: f.write(content) success = True @@ -546,7 +548,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): result = chooser.run() if result is Gtk.ResponseType.ACCEPT: dsitem = chooser.get_selected_object() - if dsitem.metadata['mime_type'] != "text/x-python": + if dsitem.metadata['mime_type'] != 'text/x-python': alert = NotifyAlert(5) alert.props.title = _('Error importing Python file') alert.props.msg = _('The file you selected is not a ' @@ -563,7 +565,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): else: name = dsitem.metadata['title'] file_path = dsitem.get_file_path() - content = open(file_path, "r").read() + content = open(file_path, 'r').read() self.source_tabs.add_tab(name, content) self.session_data.append(dsitem.object_id) @@ -574,7 +576,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): from shutil import rmtree from tempfile import mkdtemp - # get the name of this pippy program. + # Get the name of this pippy program. title = self.metadata['title'].replace('.py', '') title = title.replace('-', '') if title == 'Pippy Activity': @@ -595,39 +597,39 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): alert_icon.props.msg = _('Please select an activity icon.') def internal_callback(window=None, event=None): - icon = "%s/activity/activity-default.svg" % (get_bundle_path()) + icon = '%s/activity/activity-default.svg' % (get_bundle_path()) if window: icon = window.get_icon() - self.stopbutton_cb(None) # try stopping old code first. + self.stopbutton_cb(None) # Try stopping old code first. self._reset_vte() - self._vte.feed(_("Creating activity bundle...")) - self._vte.feed("\r\n") + self._vte.feed(_('Creating activity bundle...')) + self._vte.feed('\r\n') TMPDIR = 'instance' app_temp = mkdtemp('.activity', 'Pippy', os.path.join(self.get_activity_root(), TMPDIR)) sourcefile = os.path.join(app_temp, 'xyzzy.py') - # invoke ourself to build the activity bundle. + # Invoke ourself to build the activity bundle. self._logger.debug('writing out source file: %s' % sourcefile) - # write out application code + # Write out application code self._write_text_buffer(sourcefile) try: # FIXME: vte invocation was raising errors. # Switched to subprocss output = subprocess.check_output( - ["/usr/bin/python", - "%s/pippy_app.py" % get_bundle_path(), + ['/usr/bin/python', + '%s/pippy_app.py' % get_bundle_path(), '-p', '%s/library' % get_bundle_path(), '-d', app_temp, title, sourcefile, icon]) self._vte.feed(output) - self._vte.feed("\r\n") + self._vte.feed('\r\n') self.bundle_cb(title, app_temp) except subprocess.CalledProcessError: rmtree(app_temp, ignore_errors=True) # clean up! self._vte.feed(_('Save as Activity Error')) - self._vte.feed("\r\n") + self._vte.feed('\r\n') raise def alert_response(alert, response_id): @@ -648,7 +650,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): text = text_buffer.get_text(start, end, True) with open(filename, 'w') as f: - # write utf-8 coding prefix if there's not already one + # Write utf-8 coding prefix if there's not one already if re.match(r'coding[:=]\s*([-\w.]+)', '\n'.join(text.splitlines()[:2])) is None: f.write(PYTHON_PREFIX) @@ -656,14 +658,14 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): f.write(line) def __export_disutils_cb(self, button): - app_temp = os.path.join(self.get_activity_root(), "instance") + app_temp = os.path.join(self.get_activity_root(), 'instance') data = self.source_tabs.get_all_data() for filename, content in zip(data[0], data[1]): - fileobj = open(os.path.join(app_temp, filename), "w") + fileobj = open(os.path.join(app_temp, filename), 'w') fileobj.write(content) fileobj.close() - filenames = ",".join([("'"+name[:-3]+"'") for name in data[0]]) + filenames = ','.join([("'"+name[:-3]+"'") for name in data[0]]) title = self.metadata['title'] if title is _('Pippy Activity'): @@ -682,7 +684,7 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): setup_script = DISUTILS_SETUP_SCRIPT.format(modulename=title, filenames=filenames) - setupfile = open(os.path.join(app_temp, "setup.py"), "w") + setupfile = open(os.path.join(app_temp, 'setup.py'), 'w') setupfile.write(setup_script) setupfile.close() @@ -690,12 +692,12 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): subprocess.check_output( [ - "/usr/bin/python", - os.path.join(app_temp, "setup.py"), - "sdist", "-v" + '/usr/bin/python', + os.path.join(app_temp, 'setup.py'), + 'sdist', '-v' ]) - # hand off to journal + # Hand off to journal os.chmod(app_temp, 0777) jobject = datastore.create() metadata = { @@ -704,69 +706,70 @@ class PippyActivity(ViewSourceActivity, groupthink.sugar_tools.GroupActivity): 'mime_type': 'application/x-gzip', } for k, v in metadata.items(): - # the dict.update method is missing =( + # The dict.update method is missing =( jobject.metadata[k] = v - tarname = "dist/{modulename}-1.0.tar.gz".format(modulename=title) + tarname = 'dist/{modulename}-1.0.tar.gz'.format(modulename=title) jobject.file_path = os.path.join(app_temp, tarname) datastore.write(jobject) def _export_example_cb(self, __): - # get the name of this pippy program. + # Get the name of this pippy program. title = self.metadata['title'] if title == _('Pippy Activity'): from sugar3.graphics.alert import Alert from sugar3.graphics.icon import Icon alert = Alert() alert.props.title = _('Save as Example Error') - alert.props.msg = _('Please give your activity a meaningful \ -name before attempting to save it as an example.') + alert.props.msg = \ + _('Please give your activity a meaningful ' + 'name before attempting to save it as an example.') ok_icon = Icon(icon_name='dialog-ok') alert.add_button(Gtk.ResponseType.OK, _('Ok'), ok_icon) alert.connect('response', self.dismiss_alert_cb) self.add_alert(alert) return - self.stopbutton_cb(None) # try stopping old code first. + self.stopbutton_cb(None) # Try stopping old code first. self._reset_vte() - self._vte.feed(_("Creating example...")) - self._vte.feed("\r\n") + self._vte.feed(_('Creating example...')) + self._vte.feed('\r\n') local_data = os.path.join(os.environ['SUGAR_ACTIVITY_ROOT'], 'data') local_file = os.path.join(local_data, title) if os.path.exists(local_file): alert = ConfirmationAlert() alert.props.title = _('Save as Example Warning') - alert.props.msg = _('This example already exists. \ -Do you want to overwrite it?') + alert.props.msg = _('This example already exists. ' + 'Do you want to overwrite it?') alert.connect('response', self.confirmation_alert_cb, local_file) self.add_alert(alert) else: self.write_file(local_file) self._reset_vte() - self._vte.feed(_("Saved as example.")) - self._vte.feed("\r\n") + self._vte.feed(_('Saved as example.')) + self._vte.feed('\r\n') self.add_to_example_list(local_file) def child_exited_cb(self, *args): - """Called whenever a child exits. If there's a handler, run it.""" + '''Called whenever a child exits. If there's a handler, run it.''' h, self._child_exited_handler = self._child_exited_handler, None if h is not None: h() def bundle_cb(self, title, app_temp): - """Called when we're done building a bundle for a source file.""" + '''Called when we're done building a bundle for a source file.''' from sugar3 import profile from shutil import rmtree try: - # find the .xo file: were we successful? + # Find the .xo file: were we successful? bundle_file = [f for f in os.listdir(app_temp) if f.endswith('.xo')] if len(bundle_file) != 1: self._logger.debug("Couldn't find bundle: %s" % str(bundle_file)) - self._vte.feed("\r\n") - self._vte.feed(_("Error saving activity to journal.")) - self._vte.feed("\r\n") - return # something went wrong. - # hand off to journal + self._vte.feed('\r\n') + self._vte.feed(_('Error saving activity to journal.')) + self._vte.feed('\r\n') + return # Something went wrong. + # Hand off to journal os.chmod(app_temp, 0755) jobject = datastore.create() metadata = { @@ -778,13 +781,13 @@ Do you want to overwrite it?') 'mime_type': 'application/vnd.olpc-sugar', } for k, v in metadata.items(): - # the dict.update method is missing =( + # The dict.update method is missing =( jobject.metadata[k] = v jobject.file_path = os.path.join(app_temp, bundle_file[0]) datastore.write(jobject) - self._vte.feed("\r\n") - self._vte.feed(_("Activity saved to journal.")) - self._vte.feed("\r\n") + self._vte.feed('\r\n') + self._vte.feed(_('Activity saved to journal.')) + self._vte.feed('\r\n') self.journal_show_object(jobject.object_id) jobject.destroy() finally: @@ -794,22 +797,22 @@ Do you want to overwrite it?') self.remove_alert(alert) def confirmation_alert_cb(self, alert, response_id, local_file): - # callback for conf alert + # Callback for conf alert self.remove_alert(alert) if response_id is Gtk.ResponseType.OK: self.write_file(local_file) self._reset_vte() - self._vte.feed(_("Saved as example.")) - self._vte.feed("\r\n") + self._vte.feed(_('Saved as example.')) + self._vte.feed('\r\n') else: self._reset_vte() def add_to_example_list(self, local_file): # def for add example - entry = {"name": _(os.path.basename(local_file)), - "path": local_file} + entry = {'name': _(os.path.basename(local_file)), + 'path': local_file} _iter = self.model.insert_before(self.example_iter, None) self.model.set_value(_iter, 0, entry) - self.model.set_value(_iter, 1, entry["name"]) + self.model.set_value(_iter, 1, entry['name']) def save_to_journal(self, file_path, cloudstring): _file = open(file_path, 'w') @@ -817,15 +820,15 @@ Do you want to overwrite it?') data = self.source_tabs.get_all_data() zipped_data = zip(data[0], data[1]) sessionlist = [] - app_temp = os.path.join(self.get_activity_root(), "instance") + app_temp = os.path.join(self.get_activity_root(), 'instance') tmpfile = os.path.join(app_temp, - "pippy-tempfile-storing.py") + 'pippy-tempfile-storing.py') for zipdata, dsid in map(None, zipped_data, self.session_data): name, content = zipdata if dsid is not None: dsitem = datastore.get(dsid) - __file = open(tmpfile, "w") + __file = open(tmpfile, 'w') __file.write(content) __file.close() dsitem.set_file_path(tmpfile) @@ -835,7 +838,7 @@ Do you want to overwrite it?') dsobject = datastore.create() dsobject.metadata['mime_type'] = 'text/x-python' dsobject.metadata['title'] = name - __file = open(tmpfile, "w") + __file = open(tmpfile, 'w') __file.write(content) __file.close() dsobject.set_file_path(tmpfile) @@ -856,15 +859,15 @@ Do you want to overwrite it?') def load_from_journal(self, file_path): if self.metadata['mime_type'] == 'text/x-python': text = open(file_path).read() - # discard the '#!/usr/bin/python' and 'coding: utf-8' lines, - # if present + # Discard the '#!/usr/bin/python' and 'coding: utf-8' lines, + # if present. text = re.sub(r'^' + re.escape(PYTHON_PREFIX), '', text) self.initial_text_buffer = text self.initial_title = self.metadata['title'] self.loaded_from_journal = self.py_file = True - elif self.metadata['mime_type'] == "application/json": + elif self.metadata['mime_type'] == 'application/json': data = json.loads(open(file_path).read()) for name, dsid in data: dsitem = datastore.get(dsid) @@ -876,7 +879,7 @@ Do you want to overwrite it?') return open(file_path).read() ############# TEMPLATES AND INLINE FILES ############## -ACTIVITY_INFO_TEMPLATE = """ +ACTIVITY_INFO_TEMPLATE = ''' [Activity] name = %(title)s bundle_id = %(bundle_id)s @@ -886,7 +889,7 @@ activity_version = %(version)d mime_types = %(mime_types)s show_launcher = yes %(extra_info)s -""" +''' PIPPY_ICON = \ """<?xml version="1.0" ?><!DOCTYPE svg PUBLIC '-//W3C//DTD SVG @@ -913,13 +916,13 @@ stroke="&stroke_color;" stroke-linecap="round" stroke-width="3"/> def pippy_activity_version(): - """Returns the version number of the generated activity bundle.""" + '''Returns the version number of the generated activity bundle.''' return 39 def pippy_activity_extra_files(): - """Returns a map of 'extra' files which should be included in the - generated activity bundle.""" + '''Returns a map of 'extra' files which should be included in the + generated activity bundle.''' # Cheat here and generate the map from the fs contents. extra = {} bp = get_bundle_path() @@ -932,41 +935,41 @@ def pippy_activity_extra_files(): def pippy_activity_news(): - """Return the NEWS file for this activity.""" + '''Return the NEWS file for this activity.''' # Cheat again. return open(os.path.join(get_bundle_path(), 'NEWS')).read() def pippy_activity_icon(): - """Return an SVG document specifying the icon for this activity.""" + '''Return an SVG document specifying the icon for this activity.''' return PIPPY_ICON def pippy_activity_class(): - """Return the class which should be started to run this activity.""" + '''Return the class which should be started to run this activity.''' return 'pippy_app.PippyActivity' def pippy_activity_bundle_id(): - """Return the bundle_id for the generated activity.""" + '''Return the bundle_id for the generated activity.''' return 'org.laptop.Pippy' def pippy_activity_mime_types(): - """Return the mime types handled by the generated activity, as a list.""" + '''Return the mime types handled by the generated activity, as a list.''' return ['text/x-python', groupthink_mimetype] def pippy_activity_extra_info(): - return """ + return ''' license = GPLv2+ -update_url = http://activities.sugarlabs.org """ +update_url = http://activities.sugarlabs.org ''' ################# ACTIVITY BUNDLER ################ def main(): - """Create a bundle from a pippy-style source file""" + '''Create a bundle from a pippy-style source file''' from optparse import OptionParser from pyclbr import readmodule_ex from tempfile import mkdtemp @@ -991,7 +994,7 @@ def main(): if re.match(r'[0-9]', pytitle) is not None: pytitle = '_' + pytitle # first character cannot be numeric - # first take a gander at the source file and see if it's got extra info + # First take a gander at the source file and see if it's got extra info # for us. sourcedir, basename = os.path.split(sourcefile) if not sourcedir: @@ -1000,7 +1003,7 @@ def main(): f = open(icon_path, 'r') icon = f.read() f.close() - # things we look for: + # Things we look for: bundle_info = { 'version': 1, 'extra_files': {}, @@ -1013,7 +1016,7 @@ def main(): 'mime_types': '', 'extra_info': '', } - # are any of these things in the module? + # Are any of these things in the module? try_import = False info = readmodule_ex(module, [sourcedir] + options.path) @@ -1022,7 +1025,7 @@ def main(): if p_a_func in info: try_import = True if try_import: - # yes, let's try to execute them to get better info about our bundle + # Yes, let's try to execute them to get better info about our bundle oldpath = list(sys.path) sys.path[0:0] = [sourcedir] + options.path modobj = __import__(module) @@ -1032,9 +1035,9 @@ def main(): bundle_info[func] = modobj.__dict__[p_a_func]() sys.path = oldpath - # okay! We've done the hard part. Now let's build a bundle. - # create a new temp dir in which to create the bundle. - app_temp = mkdtemp('.activity', 'Pippy') # hope TMPDIR is set correctly! + # Okay! We've done the hard part. Now let's build a bundle. + # Create a new temp dir in which to create the bundle. + app_temp = mkdtemp('.activity', 'Pippy') # Hope TMPDIR is set correctly! bundle = get_bundle_path() try: copytree('%s/library' % bundle, '%s/library' % app_temp) @@ -1058,9 +1061,9 @@ def main(): os.makedirs(dirname) with open(os.path.join(dirname, filename), 'w') as f: f.write(contents) - # put script into $app_temp/pippy_app.py + # Put script into $app_temp/pippy_app.py copy2(sourcefile, '%s/pippy_app.py' % app_temp) - # invoke bundle builder + # Invoke bundle builder olddir = os.getcwd() oldargv = sys.argv os.chdir(app_temp) @@ -1069,7 +1072,7 @@ def main(): bundlebuilder.start() sys.argv = oldargv os.chdir(olddir) - # move to destination directory. + # Move to destination directory. src = '%s/dist/%s-%d.xo' % (app_temp, pytitle, bundle_info['version']) dst = '%s/%s-%d.xo' % (options.dir, pytitle, bundle_info['version']) if not os.path.exists(src): @@ -1083,11 +1086,11 @@ def main(): if __name__ == '__main__': import sys from gettext import gettext as _ - if False: # change this to True to test within Pippy + if False: # Change this to True to test within Pippy sys.argv = sys.argv + ['-d', '/tmp', 'Pippy', '/home/olpc/pippy_app.py'] - print(_("Working...")) + print(_('Working...')) sys.stdout.flush() main() - print(_("done!")) + print(_('done!')) sys.exit(0) |