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)
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)
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)
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)