def start(self): if len(self.errors) == 0: e = operations.FinishedEvent(self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished(e) return elif len(self.errors) > 1: title = _("Unsupported file types") else: title = _("Unsupported file type") filenames = [] for e in self.errors: filenames.append(gnomevfs.URI(e.hints['location']).short_name) del self.__errors if len(filenames) == 1: msg = _("The following files were not added:") + "\n" else: msg = _("The following files were not added:") + "\n" msg += " " + filenames[0] for f in filenames[1:]: msg += ", " + f gtkutil.dialog_error(title, msg, self.parent) e = operations.FinishedEvent(self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished(e)
def start (self): if len (self.errors) == 0: e = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished (e) return elif len (self.errors) > 1: title = _("Unsupported file types") else: title = _("Unsupported file type") filenames = [] for e in self.errors: filenames.append (urlutil.basename(e.hints['location'])) del self.__errors if len (filenames) == 1: msg = _("The following files were not added:") + "\n" else: msg = _("The following files were not added:") + "\n" msg += " " msg += ", ".join (filenames) gtkutil.dialog_error (title, msg, parent = self.parent) e = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished (e)
def start (self): self.__masterer.update = self.__update if self.__update: self.__masterer.update_disc_usage() e = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished (e)
def __on_error (self, pipeline, element, error, user_data = None): # Do not continue processing it if self.__source: gobject.source_remove (self.__source) self.__finalize () evt = operations.FinishedEvent (self, operations.ERROR) evt.error = error for l in self.listeners: l.on_finished (evt)
def stop (self): if self.__source is None: return # After this it's dead gobject.source_remove (self.__source) self.__source = None # Finish the event evt = operations.FinishedEvent(self, operations.ABORTED) for l in self.listeners: l.on_finished (evt)
def stop(self): assert self.can_stop, "Check if you can stop the operation first." self.preferences.savePlaylist(self.music_list) self.preferences.pool.clear() # Warn listeners evt = operations.FinishedEvent(self, operations.SUCCESSFUL) for listener in self.listeners: listener.on_finished(evt) # Cleanup plugins del self.__plugins
def start (self): if len (self.errors) == 0: e = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished (e) return filenames = [] for e in self.errors: filenames.append (urlutil.basename(e.hints['location'])) del self.__errors title = N_( "Unsupported file type", "Unsupported file types", len(filenames) ) msg = N_( "The following file was not added:", "The following files were not added:", len(filenames) ) gtkutil.list_dialog( title, _("If you're having problems opening certain files make sure you " "have the GStreamer plugins needed to decode them."), list_title=msg, parent=self.parent, items=filenames, stock = gtk.STOCK_DIALOG_ERROR, buttons =(gtk.STOCK_CLOSE, gtk.RESPONSE_OK), ) e = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: l.on_finished (e)
def on_finished(self, evt): # self.__prog.cancel_button.hide () # self.__prog.close_button.show () gobject.source_remove(self.__source) if evt.id == operations.SUCCESSFUL: gtkutil.dialog_warn(_("Writing to disc finished"), _("Disc writing was successful."), self.__prog) # Warn our listenrs e = operations.FinishedEvent(self, evt.id) for l in self.listeners: l.on_finished(e) self.__on_close()
def start(self): if self.__pool.is_available(self.__music): self._send_finished_event(success=operations.SUCCESSFUL) self.__oper = None else: try: self.__oper = self.__pool.fetch_music(self.__music) self.__oper.listeners.append(self) self.__oper.start() except Exception, e: import traceback traceback.print_exc() evt = operations.FinishedEvent(self, operations.ERROR) evt.error = e for l in self.listeners: l.on_finished(evt)
def start(self): #import pdb #pdb.set_trace() if self.__pool.is_available(self.__music): self.__done() self.__oper = None else: try: self.__oper = self.__pool.fetch_music(self.__music) self.__oper.listeners.append(self) self.__oper.start() except Exception, e: import traceback traceback.print_exc() evt = operations.FinishedEvent(self, operations.ERROR) evt.error = e for l in self.listeners: l.on_finished(evt)
def on_finished(self, evt): if isinstance(evt.source, operations.OperationsQueue): e = operations.FinishedEvent(self.parent, evt.id) for l in self.parent.listeners: l.on_finished(e) return assert isinstance(evt.source, GetMusic) if evt.id != operations.SUCCESSFUL: return uri = evt.source.music pool = evt.source.pool filename = pool.get_filename(uri) m = self.get_music_from_uri(uri) if m: m["cache_location"] = filename else: assert False, "uri '%s' was not found in music list." % (uri)
def __thread(self, tracks): result = self.recorder.write_tracks(self.preferences.drive, tracks, self.preferences.speedWrite, self.preferences.writeFlags) if result == nautilusburn.RECORDER_RESULT_FINISHED: result = operations.SUCCESSFUL elif result == nautilusburn.RECORDER_RESULT_ERROR: result = operations.ERROR elif result == nautilusburn.RECORDER_RESULT_CANCEL: result == operations.ABORTED elif result == nautilusburn.RECORDER_RESULT_RETRY: #TODO: hanlde this result == operations.ERROR e = operations.FinishedEvent(self, result) self.__running = False for l in self.listeners: l.on_finished(e)
def on_finished (self, event): # When the operation is finished we send the metadata success = event.id == operations.ABORTED if success: # We've completed the operation successfully if self.__metadata.has_key ("duration"): self.__metadata["duration"] /= gst.SECOND else: self.__metadata["duration"] = self.__oper.element.query(gst.QUERY_TOTAL, gst.FORMAT_TIME) / gst.SECOND evt = operations.Event (self) for l in self.listeners: l.on_metadata (evt, self.__metadata) self.__metadata = None self.__element = None if success: success = operations.SUCCESSFUL else: success = operations.ERROR event = operations.FinishedEvent (self, success) for l in self.listeners: l.on_finished (event)
def stop(self, *args): evt = operations.FinishedEvent(self, operations.SUCCESSFUL) for listener in self.listeners: listener.on_finished(evt) self.hide()
def __on_eos (self, element, user_data = None): self.__finalize () evt = operations.FinishedEvent (self, operations.SUCCESSFUL) for l in self.listeners: assert isinstance (l, operations.OperationListener), l l.on_finished (evt)
def __done(self, success=operations.SUCCESSFUL): e = operations.FinishedEvent(self, success) for l in self.listeners: l.on_finished(e)
def on_finished (self, evt): e = operations.FinishedEvent (self, evt.id) for l in self.listeners: l.on_finished (e)