示例#1
0
    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)
示例#4
0
	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)
示例#5
0
	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()
示例#9
0
 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)
示例#10
0
 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)
示例#11
0
    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)
示例#13
0
	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()
示例#15
0
	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)
示例#16
0
 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)