コード例 #1
0
ファイル: store_Updater.py プロジェクト: andgoldi/OpenStore
def getUpdatedPackages():
		menu = []
		try:
			params = {'restrictions':metrixTools.getRestrictions(),
					  'category_id':"%"}
			data = metrixCore.getWeb(metrixDefaults.URL_GET_PACKAGES,True,params)
			if "<exception status=""error""" in data:
				raise Exception("Error loading data")
			dom = parseString(data)
			for design in dom.getElementsByTagName('entry'):
				isinstalled = False
				updateavailable = False
				item_id = str(design.getAttributeNode('id').nodeValue)
				file_link = str(design.getAttributeNode('file_link').nodeValue)
				build = int(design.getAttributeNode('build').nodeValue)
				localbuild = int(metrixDefaults.cfg(metrixDefaults.CONFIG_INSTALLEDPACKAGES,item_id,"build","int"))
				# add when not only updates or (only updates and online build is higher)
				if (not localbuild == metrixDefaults.NONEINT):
					isinstalled = True
				if build > localbuild:
					updateavailable = True
				if build > localbuild:
					metrix_PackageTools.installPackage(file_link,True,True,item_id,build)
					config.plugins.MetrixUpdater.RebootRequired.value = True
					config.plugins.MetrixUpdater.UpdatePopup_Packages.value = True
		except Exception, e:
			metrixTools.log('Error getting packages via web',e)
コード例 #2
0
	def getSkinParts(self,isactive=""):
		menu = []
		
		try:
			if self.pagelength == 0:
				params = {'screenname':self.screenname,
						'suite_id':self.suite_id,
						'developer':str(config.plugins.MyMetrix.Store.SkinPart_Developer.value),
						'restrictions':metrixTools.getRestrictions(),
						'orderby':self.orderby,
						'type':str(self.type)}
			else:
				params = {'screenname':self.screenname,
						'suite_id':self.suite_id,
						'orderby':self.orderby,
						'restrictions':metrixTools.getRestrictions(),
						'developer':str(config.plugins.MyMetrix.Store.SkinPart_Developer.value),
						'pagelength':str(self.pagelength),
						'type':str(self.type),
						'pagenum':'1'}
			data = metrixCore.getWeb(metrixDefaults.URL_GET_SKINPARTS,True,params)
			dom = parseString(data)
			for entry in dom.getElementsByTagName('entry'):
				item_id = str(entry.getAttributeNode('id').nodeValue)
				name = str(entry.getAttributeNode('name').nodeValue)
				author = str(entry.getAttributeNode('author').nodeValue)
				version = str(entry.getAttributeNode('version').nodeValue)
				rating = str(entry.getAttributeNode('rating').nodeValue)
				date = str(entry.getAttributeNode('date').nodeValue)
				item_type = str(entry.getAttributeNode('type').nodeValue)
				screenname = str(entry.getAttributeNode('screenname').nodeValue)
				image_id = str(entry.getAttributeNode('image_id').nodeValue)
				image_token = str(entry.getAttributeNode('image_token').nodeValue)
				total_votes = str(entry.getAttributeNode('total_votes').nodeValue)
				description = str(entry.getAttributeNode('description').nodeValue)
				build = str(entry.getAttributeNode('build').nodeValue)
				image_link = str(entry.getAttributeNode('image_link').nodeValue)
				downloads = str(entry.getAttributeNode('downloads').nodeValue)
				menu.append(self.SkinPartsListEntry(item_id,name,author,rating,date,version,total_votes,item_type,image_id,image_token,description,screenname,image_link,isactive,build))
				metrixTools.callOnMainThread(self.setList,menu)
			if len(menu) < 1:
				self.picPath = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
				metrixTools.callOnMainThread(self.setList,menu)
		except Exception, e:
			metrixTools.log("Error getting SkinParts", e)
			self.picPath = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
			metrixTools.callOnMainThread (self.setList,menu)
コード例 #3
0
	def getPackages(self,isactive=""):
		menu = []
		try:
			params = {'restrictions':metrixTools.getRestrictions(),
					  'orderby':self.orderby+" "+self.limit,
					  'category_id':str(self.category_id)}
			data = metrixCore.getWeb(self.url,True,params)
			if "<exception status=""error""" in data:
				raise Exception("Error loading data")
			dom = parseString(data)
			for design in dom.getElementsByTagName('entry'):
				isinstalled = False
				updateavailable = False
				item_id = str(design.getAttributeNode('id').nodeValue)
				name = str(design.getAttributeNode('name').nodeValue)
				author = str(design.getAttributeNode('author').nodeValue)
				version = str(design.getAttributeNode('version').nodeValue)
				rating = str(design.getAttributeNode('rating').nodeValue)
				date = str(design.getAttributeNode('date_created').nodeValue)
				date_modified = str(design.getAttributeNode('date_modified').nodeValue)
				item_type = str(design.getAttributeNode('type').nodeValue)
				file_link = str(design.getAttributeNode('file_link').nodeValue)
				image_link = str(design.getAttributeNode('image_link').nodeValue)
				icon_link = str(design.getAttributeNode('icon_link').nodeValue)
				downloads = str(design.getAttributeNode('downloads').nodeValue)
				total_votes = str(design.getAttributeNode('total_votes').nodeValue)
				build = int(design.getAttributeNode('build').nodeValue)
				description = str(design.getAttributeNode('description').nodeValue)
				previouspackage = str(design.getAttributeNode('previouspackage').nodeValue)
				path = metrixDefaults.pathRoot()+"packages/"+item_id
				localbuild = int(metrixDefaults.cfg(metrixDefaults.CONFIG_INSTALLEDPACKAGES,item_id,"build","int"))
				# add when not only updates or (only updates and online build is higher)
				if not localbuild == metrixDefaults.NONEINT:
					isinstalled = True
				if build > localbuild:
					updateavailable = True
				if (not self.onlyupdates and not self.onlyinstalled == True) or (build > localbuild and self.onlyupdates == True) or (self.onlyinstalled and isinstalled == True):
					menu.append(self.PackagesListEntry(item_id,name,author,rating,date,version,total_votes,item_type,image_link,icon_link,description,file_link,downloads,previouspackage,date_modified,build,isinstalled,updateavailable))
				metrixTools.callOnMainThread(self.setList,menu)
			if len(menu) < 1:
				self.image = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
				metrixTools.callOnMainThread(self.setList,menu)
		except Exception, e:
			metrixTools.log('Error getting packages via web',e)
			self.image = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
			metrixTools.callOnMainThread(self.setList,menu)
コード例 #4
0
    def getSkinParts(self, isactive=""):
        menu = []

        try:
            if self.pagelength == 0:
                params = {
                    'screenname':
                    self.screenname,
                    'suite_id':
                    self.suite_id,
                    'developer':
                    str(config.plugins.MyMetrix.Store.SkinPart_Developer.value
                        ),
                    'restrictions':
                    metrixTools.getRestrictions(),
                    'orderby':
                    self.orderby,
                    'type':
                    str(self.type)
                }
            else:
                params = {
                    'screenname':
                    self.screenname,
                    'suite_id':
                    self.suite_id,
                    'orderby':
                    self.orderby,
                    'restrictions':
                    metrixTools.getRestrictions(),
                    'developer':
                    str(config.plugins.MyMetrix.Store.SkinPart_Developer.value
                        ),
                    'pagelength':
                    str(self.pagelength),
                    'type':
                    str(self.type),
                    'pagenum':
                    '1'
                }
            data = metrixCore.getWeb(metrixDefaults.URL_GET_SKINPARTS, True,
                                     params)
            dom = parseString(data)
            for entry in dom.getElementsByTagName('entry'):
                item_id = str(entry.getAttributeNode('id').nodeValue)
                name = str(entry.getAttributeNode('name').nodeValue)
                author = str(entry.getAttributeNode('author').nodeValue)
                version = str(entry.getAttributeNode('version').nodeValue)
                rating = str(entry.getAttributeNode('rating').nodeValue)
                date = str(entry.getAttributeNode('date').nodeValue)
                item_type = str(entry.getAttributeNode('type').nodeValue)
                screenname = str(
                    entry.getAttributeNode('screenname').nodeValue)
                image_id = str(entry.getAttributeNode('image_id').nodeValue)
                image_token = str(
                    entry.getAttributeNode('image_token').nodeValue)
                total_votes = str(
                    entry.getAttributeNode('total_votes').nodeValue)
                description = str(
                    entry.getAttributeNode('description').nodeValue)
                build = str(entry.getAttributeNode('build').nodeValue)
                image_link = str(
                    entry.getAttributeNode('image_link').nodeValue)
                downloads = str(entry.getAttributeNode('downloads').nodeValue)
                menu.append(
                    self.SkinPartsListEntry(item_id, name, author, rating,
                                            date, version, total_votes,
                                            item_type, image_id, image_token,
                                            description, screenname,
                                            image_link, isactive, build))
                metrixTools.callOnMainThread(self.setList, menu)
            if len(menu) < 1:
                self.picPath = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
                metrixTools.callOnMainThread(self.setList, menu)
        except Exception, e:
            metrixTools.log("Error getting SkinParts", e)
            self.picPath = metrixDefaults.PLUGIN_DIR + "images/sponsor.png"
            metrixTools.callOnMainThread(self.setList, menu)