Beispiel #1
0
    def ackedDestination(self):
        print "[ackedDestination]", self.branch, self.target_dir
        self.container.setCWD(resolveFilename(SCOPE_MEDIA) + "usb/")
        if self.target_dir[:8] == "/autofs/":
            self.target_dir = "/dev/" + self.target_dir[8:-1]

        if self.branch == STICK_WIZARD:
            job = StickWizardJob(self.target_dir)
            job.afterEvent = "close"
            job_manager.AddJob(job)
            job_manager.failed_jobs = []
            self.session.openWithCallback(self.StickWizardCB,
                                          JobView,
                                          job,
                                          afterEventChangeable=False)

        elif self.branch != STICK_WIZARD:
            url = self.feedlists[self.branch][self.image_idx][1]
            filename = self.feedlists[self.branch][self.image_idx][0]
            print "[getImage] start downloading %s to %s" % (url, filename)
            if self.target_dir.startswith("/dev/"):
                job = ImageDownloadJob(url, filename, self.target_dir,
                                       self.usbmountpoint)
            else:
                job = ImageDownloadJob(url, filename, None, self.target_dir)
            job.afterEvent = "close"
            job_manager.AddJob(job)
            job_manager.failed_jobs = []
            self.session.openWithCallback(self.ImageDownloadCB,
                                          JobView,
                                          job,
                                          afterEventChangeable=False)
Beispiel #2
0
 def burnProject(self, answer=True):
     if not answer:
         return
     if self.project.settings.authormode.getValue() == "data_ts":
         job = Process.DVDdataJob(self.project)
         job_manager.AddJob(job)
         job_manager.in_background = False
         self.session.openWithCallback(self.JobViewCB, JobView, job)
     else:
         job = Process.DVDJob(self.project)
         job_manager.AddJob(job)
         job_manager.in_background = False
         self.session.openWithCallback(self.JobViewCB, JobView, job)
Beispiel #3
0
	def doMove(self,result):
		if result is not None:
			if result[1]:
				filename = self.SOURCELIST.getFilename()
				sourceDir = self.SOURCELIST.getCurrentDirectory()
				targetDir = self.TARGETLIST.getCurrentDirectory()
				dst_file = targetDir
				if dst_file.endswith("/"):
				  targetDir = dst_file[:-1]
				if not sourceDir in filename:
				  job_manager.AddJob(FileTransferJob(sourceDir+filename, targetDir, False, False,  "%s : %s" % (_("move file"), sourceDir+filename)))
				  self.doMoveCB()
				else:
				  job_manager.AddJob(FileTransferJob(filename, targetDir, True, False,  "%s : %s" % (_("move folder"), filename)))
				  self.doMoveCB()
Beispiel #4
0
	def green(self, ret = None):
		sel = self["imageList"].l.getCurrentSelection()
		if sel == None:
			print"Nothing to select !!"
			return
		file_name = self.imagePath + "/" + sel
		self.filename = file_name
		self.sel = sel
		box = self.box()
		self.hide()
		if self.Online:
			if self.feed == "openeight":
				url = self.feedurl + "/images/" + box + "/" + sel
			else:
				url = self.feedurl + "/" + box + "/" + sel
			print "[Flash Online] Download image: >%s<" % url
			try:
				u = urllib2.urlopen(url)
				f = open(file_name, 'wb')
				f.close()
				job = ImageDownloadJob(url, file_name, sel)
				job.afterEvent = "close"
				job_manager.AddJob(job)
				job_manager.failed_jobs = []
				self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable = False, afterEventChangeable = False)
			except urllib2.URLError as e:
				print "[Flash Online] Download failed !!\n%s" % e
				self.session.openWithCallback(self.ImageDownloadCB, MessageBox, _("Download Failed !!" + "\n%s" % e), type = MessageBox.TYPE_ERROR)
				self.close()
		else:
			self.session.openWithCallback(self.startInstallLocal, MessageBox, _("Do you want to backup your settings now?"), default=False)
Beispiel #5
0
 def startInstallOnline(self, ret=None):
     box = self.box()
     if self.feed == "openeight":
         url = self.feedurl + "/images/" + box + "/" + self.sel
     else:
         url = self.feedurl + "/" + box + "/" + self.sel
     print "[Flash Online] Download image: >%s<" % url
     try:
         u = urllib2.urlopen(url)
         f = open(self.filename, 'wb')
         f.close()
         job = ImageDownloadJob(url, self.filename, self.sel)
         job.afterEvent = "close"
         job_manager.AddJob(job)
         job_manager.failed_jobs = []
         self.session.openWithCallback(self.ImageDownloadCB,
                                       JobView,
                                       job,
                                       backgroundable=False,
                                       afterEventChangeable=False)
     except urllib2.URLError as e:
         print "[Flash Online] Download failed !!\n%s" % e
         self.session.openWithCallback(self.ImageDownloadCB,
                                       MessageBox,
                                       _("Download Failed !!" + "\n%s" % e),
                                       type=MessageBox.TYPE_ERROR)
         self.close()
Beispiel #6
0
 def delete_service(self, ref, serviceHandler):
     from Screens.MessageBox import MessageBox
     if config.usage.movielist_use_trash_dir.value:
         from Screens.MovieSelection import getTrashDir
         from Components.FileTransfer import FileTransferJob
         from Components.Task import job_manager
         trash_dir = getTrashDir(ref.getPath())
         if trash_dir:
             src_file = str(ref.getPath())
             dst_file = trash_dir
             if dst_file.endswith("/"):
                 dst_file = trash_dir[:-1]
             text = _("remove")
             job_manager.AddJob(
                 FileTransferJob(src_file, dst_file, False, False,
                                 "%s : %s" % (text, src_file)))
         else:
             result_txt = _(
                 "Delete failed, because there is no movie trash !\nDisable movie trash in configuration to delete this item"
             )
             self.session.openWithCallback(self.close, MessageBox,
                                           result_txt,
                                           MessageBox.TYPE_ERROR)
             return False
     else:
         offline = serviceHandler.offlineOperations(ref)
         if offline.deleteFromDisk(0):
             self.session.openWithCallback(self.close, MessageBox,
                                           _("You cannot delete this!"),
                                           MessageBox.TYPE_ERROR)
             return False
     return True
Beispiel #7
0
 def green(self):
     sel = self["imageList"].l.getCurrentSelection()
     if sel == None:
         print "Nothing to select !!"
         return
     file_name = self.imagePath + "/" + sel
     self.filename = file_name
     box = self.box()
     self.hide()
     if self.Online:
         if self.imagesCounter == 0:
             url = self.feedurl + "/" + sel
         else:
             url = self.feedurl + "/" + box + "/" + sel
         #print "URL:", url
         u = urllib2.urlopen(url)
         f = open(file_name, 'wb')
         meta = u.info()
         file_size = int(meta.getheaders("Content-Length")[0])
         print "Downloading: %s Bytes: %s" % (sel, file_size)
         job = ImageDownloadJob(url, file_name, sel)
         job.afterEvent = "close"
         job_manager.AddJob(job)
         job_manager.failed_jobs = []
         self.session.openWithCallback(self.ImageDownloadCB,
                                       JobView,
                                       job,
                                       backgroundable=False,
                                       afterEventChangeable=False)
     else:
         if sel == str(flashTmp):
             self.Start_Flashing()
         else:
             self.unzip_image(self.filename, flashPath)
Beispiel #8
0
 def startInstallOnline(self, ret=None):
     box = self.box()
     brand = getMachineBrand()
     box = getBoxType()
     self.hide()
     if self.Online:
         if self.imagesCounter == 0:
             url = self.feedurl + "/" + brand + "/" + box + "/" + self.sel
         else:
             url = self.feedurl + "/" + brand + "/" + box + "/" + sel
         print "URL:", url
         u = urllib2.urlopen(url)
         f = open(self.filename, 'wb')
         meta = u.info()
         file_size = int(meta.getheaders("Content-Length")[0])
         print "Downloading: %s Bytes: %s" % (self.sel, file_size)
         job = ImageDownloadJob(url, self.filename, self.sel)
         job.afterEvent = "close"
         job_manager.AddJob(job)
         job_manager.failed_jobs = []
         self.session.openWithCallback(self.ImageDownloadCB,
                                       JobView,
                                       job,
                                       backgroundable=False,
                                       afterEventChangeable=False)
     else:
         self.session.openWithCallback(
             self.startInstallLocal,
             MessageBox,
             _("Do you want to backup your settings now?"),
             default=False)
Beispiel #9
0
    def start_download(self, path):
        image = self['downloadmenu'].getCurrent()
        if image:
            self.image_url = self['downloadmenu'].getCurrent()[0]
            self.image_name = self['downloadmenu'].getCurrent()[4]
            self.path = path
            self.file_name = os.path.join(self.path + '/',
                                          os.path.basename(self.image_url))
            if fileExists(self.file_name) and self.verify_download():
                self.download_finished(True)
            else:
                job_name = _('Download %s') % self.image_name
                job_manager.AddJob(
                    downloadJob(self.image_url, self.file_name, job_name))
                tasklist = []
                for job in job_manager.getPendingJobs():
                    if job.name == job_name:
                        tasklist.append(
                            (job, job.name, job.getStatustext(),
                             int(100 * job.progress / float(job.end)),
                             str(100 * job.progress / float(job.end)) + '%'))
                        break

                if len(tasklist):
                    self.session.openWithCallback(self.download_finished,
                                                  DownloadTaskScreen,
                                                  self.skin_path, tasklist,
                                                  job_name)
Beispiel #10
0
 def green(self):
     sel = self["imageList"].l.getCurrentSelection()
     if sel == None:
         print "Nothing to select !!"
         return
     file_name = self.imagePath + "/" + sel
     self.filename = file_name
     box = self.box()
     self.hide()
     if self.Online:
         url = self.feedurl + "/" + box + "/" + sel
         f = open(file_name, 'wb')
         job = ImageDownloadJob(url, file_name, sel)
         job.afterEvent = "close"
         job_manager.AddJob(job)
         job_manager.failed_jobs = []
         self.session.openWithCallback(self.ImageDownloadCB,
                                       JobView,
                                       job,
                                       backgroundable=False,
                                       afterEventChangeable=False)
     else:
         if sel == str(flashTmp):
             self.Start_Flashing()
         else:
             self.unzip_image(self.filename, flashPath)
Beispiel #11
0
 def startInstallOnline(self, ret = None):
     box = self.box()
     brand = getMachineBrand()
     box = getBoxType()
     self.hide()
     if self.Online:
         if self.imagesCounter == 0:
             url = self.feedurl + '/' + brand + '/' + box + '/' + self.sel
         else:
             url = self.feedurl + '/' + brand + '/' + box + '/' + sel
         print 'URL:', url
         u = urllib2.urlopen(url)
         f = open(self.filename, 'wb')
         meta = u.info()
         file_size = int(meta.getheaders('Content-Length')[0])
         print 'Downloading: %s Bytes: %s' % (self.sel, file_size)
         job = ImageDownloadJob(url, self.filename, self.sel)
         job.afterEvent = 'close'
         job_manager.AddJob(job)
         job_manager.failed_jobs = []
         self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable=False, afterEventChangeable=False)
     elif sel == str(flashTmp):
         self.flashWithRestoreQuestion()
     else:
         self.unzip_image(self.filename, flashPath)
Beispiel #12
0
    def green(self, ret = None):
        sel = self['imageList'].l.getCurrentSelection()
        if sel == None:
            print 'Nothing to select !!'
            return
        else:
            file_name = self.imagePath + '/' + sel
            self.filename = file_name
            self.sel = sel
            box = self.box()
            self.hide()
            url = self.feedurl + '/' + box[0] + '/' + sel
            print '[NFR4XBoot] Image download url: ', url
            try:
                u = urllib2.urlopen(url)
            except:
                self.session.open(MessageBox, _('The URL to this image is not correct !!'), type=MessageBox.TYPE_ERROR)
                self.close()

            f = open(file_name, 'wb')
            f.close()
            meta = u.info()
            file_size = int(meta.getheaders('Content-Length')[0])
            print 'Downloading: %s Bytes: %s' % (sel, file_size)
            job = ImageDownloadJob(url, file_name, sel)
            job.afterEvent = 'close'
            job_manager.AddJob(job)
            job_manager.failed_jobs = []
            self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable=False, afterEventChangeable=False)
            return
Beispiel #13
0
    def okClicked(self):
        svfile = "/tmp/vid"
        self.svf = svfile

        JobManager.AddJob(downloadJob(self, self.urtmp, svfile, 'Title 1'))

        #                self.LastJobView()
        self.play()
Beispiel #14
0
	def do_run_script(self, answer):
		answer = answer and answer[1]
		if answer in ("YES", "PAR", "YES_BG", "PAR_BG"):
			if not os.access(self.commando, os.R_OK):
				self.session.open(MessageBox, _("Script '%s' must have read permission to be able to run it") % self.commando, type=MessageBox.TYPE_ERROR, close_on_any_key=True)
				return
			nice = config.plugins.filecommander.script_priority_nice.value or ''
			ionice = config.plugins.filecommander.script_priority_ionice.value or ''
			if nice:
				nice = 'nice -n %d ' %nice
			if ionice:
				ionice = 'ionice -c %d ' %ionice
			priority = '%s%s' %(nice,ionice)
			if self.commando.endswith('.sh'):
				if os.access(self.commando, os.X_OK):
					if 'PAR' in answer:
						cmdline = "%s%s '%s'" %(priority, self.commando, self.parameter)
					else:
						cmdline = "%s%s" %(priority, self.commando)
				else:
					if 'PAR' in answer:
						cmdline = "%s/bin/sh %s '%s'" %(priority, self.commando, self.parameter)
					else:
						cmdline = "%s/bin/sh %s" %(priority, self.commando)
			else:
				if 'PAR' in answer:
					cmdline = "%s/usr/bin/python %s '%s'" %(priority, self.commando, self.parameter)
				else:
					cmdline = "%s/usr/bin/python %s" %(priority, self.commando)
		elif answer == "VIEW":
			try:
				yfile = os.stat(self.commando)
			except OSError as oe:
				self.session.open(MessageBox, _("%s: %s") % (self.commando, oe.strerror), type=MessageBox.TYPE_ERROR)
				return
			if (yfile.st_size < 1000000):
				self.session.open(vEditor, self.commando)

		if answer and answer != "VIEW":
			if answer.endswith('_BG'):
				global task_Stout, task_Sterr
				task_Stout = []
				task_Sterr = []
				if 'PAR' in answer:
					name = '%s%s %s' %(priority, self.commando, self.parameter)
				else:
					name = '%s%s' %(priority, self.commando)
				job = Job(_("Run script") + " ('%s')" %name)
				task = Task(job, name)
				task.postconditions.append(task_postconditions())
				task.processStdout = task_processStdout
				task.processStderr = task_processSterr
				task.setCmdline(cmdline)
				job_manager.AddJob(job, onSuccess=self.finishedCB, onFail=self.failCB)
				self.jobs += 1
				self.onLayout()
			else:
				self.session.open(Console, cmdlist=(cmdline,))
Beispiel #15
0
	def goYellow(self):
		targetDir = self.TARGETLIST.getCurrentDirectory()

		for file in self.selectedFiles:
			extension = file.split('.')
			extension = extension[-1].lower()
			if MOVIEEXTENSIONS.has_key(extension):
				print "[Moviebrowser]: skip " +extension
			else:
				print "[Moviebrowser]: copy " +extension
				dst_file = targetDir
				if dst_file.endswith("/"):
					targetDir = dst_file[:-1]
				if file.endswith("/"):
					job_manager.AddJob(FileTransferJob(file, targetDir, True, True,  "%s : %s" % (_("copy folder"),file)))				
				else:
					job_manager.AddJob(FileTransferJob(file, targetDir, False, True,  "%s : %s" % (_("copy file"),file)))				
		self.exit()
    def hddConfirmed(self, confirmed):
        if not confirmed:
            return
        from Components.Task import job_manager
        try:
            job_manager.AddJob(self.action(), onSuccess=job_manager.popupTaskView)
        except Exception as ex:
            self.session.open(MessageBox, str(ex), type=MessageBox.TYPE_ERROR, timeout=10)

        self.close()
Beispiel #17
0
	def doFormat(self):
		self.reset()
		try:
			job_manager.AddJob(self.internalHdd.createInitializeJob(), onSuccess=self.formatSucceeded, onFail=self.formatFailed)
			for job in job_manager.getPendingJobs():
				if job.name == _("Initializing storage device..."):
					self.showJobView(job)
					break
		except Exception, ex:
			self.session.open(MessageBox, _("Can't start job to format HDD\n")+str(ex), type=MessageBox.TYPE_ERROR, timeout=10)
Beispiel #18
0
    def green(self, ret=None):
        sel = self['imageList'].l.getCurrentSelection()
        if sel == None:
            print('Nothing to select !!')
            return
        else:
            file_name = self.imagePath + '/' + sel
            self.filename = file_name
            self.sel = sel
            box = self.box()
            self.hide()
            if self.distro == 'openvix':
                url = self.feedurl + '/openvix-builds/' + box[0] + '/' + sel
            elif self.distro == 'openeight':
                url = self.feedurl + '/images/' + box[0] + '/' + sel
            elif self.distro == 'openhdf':
                url = self.feedurl + '/' + sel
            elif self.distro == 'pure2':
                url = 'http://pur-e2.club/OU/images/' + ImageVersion + '/' + BRANDOEM + '/' + sel
            else:
                url = self.feedurl + '/' + box[0] + '/' + sel
            print('[NFR4XBoot] Image download url: ', url)
            try:
                user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7'
                headers = {
                    'User-Agent': user_agent,
                }
                req = urllib.request.Request(url, None, headers)
                u = urllib.request.urlopen(req)
            except:
                self.session.open(MessageBox,
                                  _('The URL to this image is not correct !!'),
                                  type=MessageBox.TYPE_ERROR)
                self.close()

            f = open(file_name, 'wb')
            f.close()
            try:
                file_size = int(u.getheader('Content-Length'))
                print('Downloading: %s Bytes: %s' % (sel, file_size))
                job = ImageDownloadJob(url, file_name, sel)
                job.afterEvent = 'close'
                job_manager.AddJob(job)
                job_manager.failed_jobs = []
                self.session.openWithCallback(self.ImageDownloadCB,
                                              JobView,
                                              job,
                                              backgroundable=False,
                                              afterEventChangeable=False)
                return
            except:
                self.session.open(MessageBox,
                                  _('The URL to this image is not correct !!'),
                                  type=MessageBox.TYPE_ERROR)
                self.close()
Beispiel #19
0
    def green(self, ret = None):
        sel = self['imageList'].l.getCurrentSelection()
        if sel == None:
            print 'Nothing to select !!'
            return
        else:
            file_name = self.imagePath + '/' + sel
            self.filename = file_name
            self.sel = sel
            box = self.box()
            self.hide()
            if self.distro == 'openvix':
                url = self.feedurl + '/openvix-builds/' + box[1] + '/' + sel 
            #elif self.distro == 'openpli':
                #url = 'http://downloads.pli-images.org/builds/' + box[0] + '/' + sel
            elif self.distro == 'pure2':
                url = 'http://pur-e2.club/OU/images/6.1/' + BRANDOEM + '/' + sel
            elif self.distro == 'opendroid':
                url = self.feedurl + '/' + BRANDOEMDROID + '/' + MASCHINEBUILD + '/' + sel                       
	    elif self.distro == 'openhdf':
		url = self.feedurl + '/' + sel
	    elif self.distro == 'satdreamgr':
		url = self.feedurl + '/' + sel
	    elif self.distro == 'hdmu':
	        self.feedurl2 = 'www.hdmedia-universe.com/images/'
	        url = 'http://www.hdmedia-universe.com/images/arm/' + box[0] + '/' + sel
	    elif self.distro == 'egami':
	        if box[0] == "ax51":
	            url = 'http://image.egami-image.com/hd51/' + sel
		else: 
                    url = 'http://image.egami-image.com/' + box[0] + '/' + sel                    		
            else:
                url = self.feedurl + '/' + box[0] + '/' + sel
            print '[NFR4XBoot] Image download url: ', url
            try:
                u = urllib2.urlopen(url)
            except:
                self.session.open(MessageBox, _('The URL to this image is not correct !!'), type=MessageBox.TYPE_ERROR)
                self.close()

            f = open(file_name, 'wb')
            f.close()
            try:
                meta = u.info()
                file_size = int(meta.getheaders('Content-Length')[0])
                print 'Downloading: %s Bytes: %s' % (sel, file_size)
                job = ImageDownloadJob(url, file_name, sel)
                job.afterEvent = 'close'
                job_manager.AddJob(job)
                job_manager.failed_jobs = []
                self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable=False, afterEventChangeable=False)
                return                
            except:
                self.session.open(MessageBox, _('The URL to this image is not correct !!'), type=MessageBox.TYPE_ERROR)
                self.close()                
	def hddConfirmed(self, confirmed):
		if not confirmed:
			return
		from Components.Task import job_manager
		try:
			job = self.action()
			job_manager.AddJob(job, onSuccess=job_manager.popupTaskView)
			from TaskView import JobView
			self.session.open(JobView, job, afterEventChangeable=False)
		except Exception, ex:
			self.session.open(MessageBox, str(ex), type=MessageBox.TYPE_ERROR, timeout=10)
Beispiel #21
0
	def hddConfirmed(self, confirmed):
		if not confirmed:
			return
		try:
			job_manager.AddJob(self.action())
			for job in job_manager.getPendingJobs():
				if job.name in (_("Initializing storage device..."), _("Checking filesystem..."),_("Converting ext3 to ext4...")):
					self.showJobView(job)
					break
		except Exception, ex:
			self.session.open(MessageBox, str(ex), type=MessageBox.TYPE_ERROR, timeout=10)
Beispiel #22
0
	def createJob(self):
		self.job = Job("Image flashing job")
		self.job.afterEvent = "close"
		cwd = self["filelist"].getCurrentDirectory()
		md5verify(self.job, cwd, self.md5sum)
		writeNAND(self.job, [self.nfifile], self.box)
		self["key_blue"].text = ""
		self["key_yellow"].text = ""
		self["key_green"].text = ""
		job_manager.AddJob(self.job)
		self.session.openWithCallback(self.flashed, JobView, self.job, cancelable = False, backgroundable = False, afterEventChangeable = False)
Beispiel #23
0
	def addJob(self, job, updateDirs):
		self.jobs += 1
		self.onLayout()
		self.updateDirs.update(updateDirs)
		if isinstance(job, list):
			container = eConsoleAppContainer()
			container.appClosed.append(self.finishedCB)
			self.containers.append(container)
			retval = container.execute("rm", "rm", "-rf", *job)
			if retval:
				self.finishedCB(retval)
		else:
		   job_manager.AddJob(job, onSuccess=self.finishedCB)
Beispiel #24
0
	def green(self, ret = None):
		sel = self["imageList"].l.getCurrentSelection()
		if sel == None:
			print"Nothing to select !!"
			return
		file_name = self.imagePath + "/" + sel
		self.filename = file_name
		self.sel = sel
		box = self.box()
		self.hide()
		if self.Online:
			url = self.feedurl + "/" + box + "/" + sel
			print "[Flash Online] Download image: >%s<" % url
			if self.newfeed:
				self.feedurl = self.newfeed[0][:-1]
				url = self.feedurl + "/" + box + "/" + sel
				authinfo = urllib2.HTTPPasswordMgrWithDefaultRealm()
				authinfo.add_password(None, self.feedurl, self.newfeed[1][:-1], self.newfeed[2][:-1])
				handler = urllib2.HTTPBasicAuthHandler(authinfo)
				myopener = urllib2.build_opener(handler)
				opened = urllib2.install_opener(myopener)
				u = urllib2.urlopen(url)
				total_size = int(u.info().getheaders("Content-Length")[0])
				downloaded = 0
				CHUNK = 256 * 1024
				with open(file_name, 'wb') as fp:
					while True:
						chunk = u.read(CHUNK)
						downloaded += len(chunk)
						print "Downloading: %s Bytes of %s" % (downloaded, total_size)
						if not chunk: break
						fp.write(chunk)
				self.ImageDownloadCB(False)
			else:
				try:
					u = urllib2.urlopen(url)
					f = open(file_name, 'wb')
					f.close()
					job = ImageDownloadJob(url, file_name, sel)
					job.afterEvent = "close"
					job_manager.AddJob(job)
					job_manager.failed_jobs = []
					self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable = False, afterEventChangeable = False)
				except urllib2.URLError as e:
					print "[Flash Online] Download failed !!\n%s" % e
					self.session.openWithCallback(self.ImageDownloadCB, MessageBox, _("Download Failed !!" + "\n%s" % e), type = MessageBox.TYPE_ERROR)
					self.close()
		else:
			self.session.openWithCallback(self.startInstallLocal, MessageBox, _("Do you want to backup your settings now?"), default=False)
Beispiel #25
0
	def green(self):
		sel = self["imageList"].l.getCurrentSelection()
		if sel == None:
			print"Nothing to select !!"
			return
		file_name = self.imagePath + "/" + sel
		self.filename = file_name
		box = self.box()
		self.hide()
		if self.Online:
			url = self.feedurl + "/" + box + "/" + sel
			if self.newfeed:
				self.feedurl = self.newfeed[0][:-1]
				url = self.feedurl + "/" + box + "/" + sel
				authinfo = urllib2.HTTPPasswordMgrWithDefaultRealm()
				authinfo.add_password(None, self.feedurl, self.newfeed[1][:-1], self.newfeed[2][:-1])
				handler = urllib2.HTTPBasicAuthHandler(authinfo)
				myopener = urllib2.build_opener(handler)
				opened = urllib2.install_opener(myopener)
				u = urllib2.urlopen(url)
				total_size = int(u.info().getheaders("Content-Length")[0])
				downloaded = 0
				CHUNK = 256 * 1024
				with open(file_name, 'wb') as fp:
					while True:
						chunk = u.read(CHUNK)
						downloaded += len(chunk)
						print "Downloading: %s Bytes of %s" % (downloaded, total_size)
						if not chunk: break
						fp.write(chunk)
				self.ImageDownloadCB(False)
			else:
				u = urllib2.urlopen(url)
				f = open(file_name, 'wb')
				f.close()
				#meta = u.info()
				#file_size = int(meta.getheaders("Content-Length")[0])
				#print "Downloading: %s Bytes: %s" % (sel, file_size)
				job = ImageDownloadJob(url, file_name, sel)
				job.afterEvent = "close"
				job_manager.AddJob(job)
				job_manager.failed_jobs = []
				self.session.openWithCallback(self.ImageDownloadCB, JobView, job, backgroundable = False, afterEventChangeable = False)
		else:
			if sel == str(flashTmp):
				self.Start_Flashing()
			else:
				self.unzip_image(self.filename, flashPath)
Beispiel #26
0
    def goGreen(self):
        targetDir = self.TARGETLIST.getCurrentDirectory()

        for file in self.selectedFiles:
            extension = file.split('.')
            extension = extension[-1].lower()
            if extension in MOVIEEXTENSIONS:
                print "[FileCommander] skip " + extension
            else:
                print "[FileCommander] copy " + extension
                dst_file = targetDir
                if dst_file.endswith("/"):
                    targetDir = dst_file[:-1]
                job_manager.AddJob(
                    FileTransferJob(file, targetDir, False, False,
                                    "%s : %s" % (_("move file"), file)))
        self.exit()
 def format(self):
     if self.formattable:
         job = DVDformatJob(self)
         job_manager.AddJob(job)
         from Screens.TaskView import JobView
         self.session.openWithCallback(self.formatCB, JobView, job)
Beispiel #28
0
 def previewMenu(self):
     job = Process.DVDJob(self.project, menupreview=True)
     job_manager.in_background = False
     job_manager.AddJob(job)
Beispiel #29
0
 def burnISO(self, path, scope, configRef):
     if path:
         job = Process.DVDisoJob(self.project, path)
         job_manager.AddJob(job)
         job_manager.in_background = False
         self.session.openWithCallback(self.JobViewCB, JobView, job)
Beispiel #30
0
	def cut(self, name, inpath, outpath, inlen, outlen, clist):
		job = Job(_("Execute cuts"))
		CutTask(job, self.session, name, inpath, outpath, inlen, outlen, mcut_path, clist)
		JobManager.AddJob(job, onFail=self.noFail)
		self.close(True)