Exemple #1
0
	def install(self):
		if len(self.devices) == 0:
			return
			
		index = self["menu"].getIndex()
		if index == None:
			index = 0
		
		if len(self.devices[index].getPackage()) == 0 or smstack.checkIfPending(self.devices[index].getPackage()):
			return
			
		if fileExists("/usr/lib/opkg/info/%s.control" % self.devices[index].getPackage()):
			smstack.add(SMStack.REMOVE, self.devices[index].getPackage())
			self.devices[index].setStatus(2)
		else:
			smstack.add(SMStack.UPDATE, "")
			api = SAPCL()
			firmwares = api.getUsbFirmwares(self.devices[index].getPackage())
			for firmware in firmwares["firmwares"]:
				if not fileExists("/usr/lib/opkg/info/%s.control" % firmware["firmware-name"]):
					smstack.add(SMStack.INSTALL, firmware["firmware-name"])
			smstack.add(SMStack.INSTALL_WITH_REBOOT, self.devices[index].getPackage())
			self.devices[index].setStatus(3)
			
		self.drawList()
Exemple #2
0
	def msgboxCb(self, result):
		if result == 0:
			smstack.add(SMStack.UPDATE, "")
			api = SAPCL()
			firmwares = api.getUsbFirmwares(self.device.getPackage())
			for firmware in firmwares["firmwares"]:
				if not fileExists("/usr/lib/opkg/info/%s.control" % firmware["firmware-name"]):
					smstack.add(SMStack.INSTALL, firmware["firmware-name"])
			smstack.add(SMStack.INSTALL_WITH_REBOOT, self.device.getPackage())
			self.device.setStatus(3)	# mark as installed
			
			# if necessary open usbdevices view
			found = False
			for dialog in self.session.dialog_stack:
				if isinstance(dialog, UsbDevices):
					found = True
					break
			if not found:
				self.session.open(UsbDevices)
		elif result == 1:
			self.device.setStatus(1)	# mark as "ask again"
		elif result == 2:
			self.device.setStatus(2)	# mark as "never ask again"
		
		if self.callback:
			self.callback(self)
Exemple #3
0
	def load(self, idVendor, idProduct, nocache = False):
		filename = "%s/%d:%d.cache" % (self.confdir, idVendor, idProduct)
		ret = {}
		if fileExists(filename) and not nocache:
			cachefile = open(filename, 'rb')
			ret = pickle.load(cachefile)
			cachefile.close()
			ret["cached"] = True
		else:
			api = SAPCL()
			ret = api.getUsbDevice(idVendor, idProduct)
			if len(ret["devices"]) > 0:
				ret["devices"][0]["status"] = 0
			cachefile = open(filename, 'wb')
			pickle.dump(ret, cachefile)
			cachefile.close()
			ret["cached"] = False
			
		return ret
Exemple #4
0
def autoSendCrashLogs(session, id, arg):
	if not config.sifteam.cloud.crashlogs.value:
		return
		
	api = SAPCL()
	files = os.listdir("/hdd/")
	if not files:
		return
		
	for file in files:
		try:
			if file[:14] != "sifteam_crash_" or file[-4:] != ".log" or file[-9:] == "_sent.log":
				continue
				
			buff = open("/hdd/" + file).read()
			api.sendCrashLog(buff)
			os.rename("/hdd/" + file, "/hdd/" + file.replace(".log", "_sent.log"))
		except Exception, e:
			pass
Exemple #5
0
def autoSendCrashLogs(session, id, arg):
    if not config.sifteam.cloud.crashlogs.value:
        return

    api = SAPCL()
    files = os.listdir("/hdd/")
    if not files:
        return

    for file in files:
        try:
            if file[:14] != "sifteam_crash_" or file[-4:] != ".log" or file[
                    -9:] == "_sent.log":
                continue

            buff = open("/hdd/" + file).read()
            api.sendCrashLog(buff)
            os.rename("/hdd/" + file,
                      "/hdd/" + file.replace(".log", "_sent.log"))
        except Exception, e:
            pass
	def executeRequest(self):
		api = SAPCL()
		return api.getCategories(0, True)
Exemple #7
0
 def executeRequest(self):
     api = SAPCL()
     self.settings = api.getChannelsSettings()
     return True
Exemple #8
0
 def executeRequest(self):
     api = SAPCL()
     return api.getCategories(0, True)