def add_mirror(self,parts,name): if not self.terminate and isinstance(parts,list) and len(parts)>0: for part in parts: upname=part.get("url_provider_name",None) uphash=part.get("url_provider_hash",None) #sanity check if upname is None or uphash is None: return False #check if there is an appropriate url provider if not providers.is_loadable(self.content_type,"url",upname,self.loadable_uprv): self.add_log("no appropriate url provider. Skipping : %s , %s" % (str(self.content_type),str(upname))) return False #check if provider first time. checked ids are dynamic on provider name elif upname in self.checked_uids[self.content_type].keys(): #check if already proccesed if uphash in self.checked_uids[self.content_type][upname]: self.add_log("already processed, skipping :%s , %s, %s " % (str(self.content_type),str(upname),str(uphash))) return False else: #if first time, create list dynamically self.checked_uids[self.content_type][upname]=[] self.checked_uids[self.content_type][upname].append(uphash) self.tm.add_queue(target=self._on_new_id, args=(parts,name),pri=5) else: return False
def add_mirror(self,parts,name,wait=0,missing="drop"): hs=re.match("\[HS\:(.*?)\]",name,re.IGNORECASE) d=re.match("\[D\:(.*?)\]",name,re.IGNORECASE) language=self.backwards.getLanguage(0).lower() link_provider=findcaller() if not (self.terminate or self.backwards.abortRequested()) and isinstance(parts,list) and len(parts)>0: for part in parts: part["link_provider_name"]=link_provider upname=part.get("url_provider_name",None) uphash=part.get("url_provider_hash",None) if addon.getSetting("dismiss_sub_other")=="true" and hs and not hs.group(1).lower() in [language,"en"]: self.add_log("HARD SUBTITLE, Dismissing : %s, %s , %s" % (str(self.content_type),name,str(upname))) return if addon.getSetting("dismiss_dub_other")=="true"and d and not d.group(1).lower() in [language,"en"]: self.add_log("OVERDUB, Dismissing : %s, %s , %s" % (str(self.content_type),name,str(upname))) return #sanity check if upname is None or uphash is None: return False #check if there is an appropriate url provider if not providers.is_loadable(self.content_type,"url",upname,self.loadable_uprv): self.add_log("no appropriate url provider. Skipping : %s , %s" % (str(self.content_type),str(upname))) return False #check if provider first time. checked ids are dynamic on provider name elif upname in self.checked_uids[self.content_type].keys(): #check if already proccesed if uphash in self.checked_uids[self.content_type][upname]: self.add_log("already processed, skipping :%s , %s, %s " % (str(self.content_type),str(upname),str(uphash))) return False else: #if first time, create list dynamically self.checked_uids[self.content_type][upname]=[] self.checked_uids[self.content_type][upname].append(uphash) try: caller = inspect.getframeinfo(inspect.stack()[1][0]) lpname=os.path.split(caller.filename)[-1].split(".")[0].split("_")[2] except: lpname=None self.tm.add_queue(target=self._on_new_id, args=(lpname,parts,name,wait,missing),pri=5) else: return False
elif ump.page== "urlselect": if not addon.getSetting("tn_chk_url_en").lower()=="false": from ump import webtunnel webtunnel.check_health(ump,True) if len(link_providers)==0: ump.dialog.notification("ERROR","There is no available providers for %s"%ump.content_type) else: for provider in link_providers: try: provider=providers.load(ump.content_type,"link",provider[2]) except Exception, e: ump.notify_error(e) continue ump.tm.add_queue(provider.run, (ump,),pri=10) ump.window.doModal() elif providers.is_loadable(ump.content_type,"index",ump.module,indexers)==1: try: providers.load(ump.content_type,"index",ump.module).run(ump) ump._do_container() except Exception,e: ump.notify_error(e) elif providers.is_loadable(ump.content_type,"index",ump.module,indexers)==2: try: providers.load("ump","index",ump.module).run(ump) ump._do_container() except Exception,e: ump.notify_error(e) postrun.run(ump) ump.shut() ump.add_log("PUBLISH : %s"%str(ump.pub)) if int(ump.handle)==-1:
li = xbmcgui.ListItem(provider_name, iconImage=img, thumbnailImage=img) xbmcplugin.addDirectoryItem(ump.handle, ump.link_to(module=provider_name), li, True) xbmcplugin.endOfDirectory(ump.handle) elif ump.page == "urlselect": # threads=[] if len(link_providers) == 0: ump.dialog.notification( "ERROR", "There is no available providers for %s" % ump.content_type) else: for provider in link_providers: try: provider = providers.load(ump.content_type, "link", provider[2]) except Exception, e: ump.notify_error(e) continue ump.tm.add_queue(provider.run, (ump, ), pri=10) ump.window.doModal() elif providers.is_loadable(ump.content_type, "index", ump.module, indexers): providers.load(ump.content_type, "index", ump.module).run(ump) ump.shut() print "CONTENT_CAT : " + str(ump.content_cat) del gc.garbage[:] gc.collect() print "EOF"