def generate_nfo(category, media_title): if "(ts)" in category: return media_title_orig = media_title if TRANSLIT == "true": media_title = translit.eng(media_title) nfo = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>\n' nfo += '<movie>\n' nfo += " <title>" + encode_( encode_( media_title_orig.split('[')[0].split('(')[0].split('/') [0].strip())) + "</title>\n" year = get_media_year(media_title_orig) if year: nfo += " <year>" + year + "</year>\n" nfo += "</movie>\n" dirlib = os.path.join(DIRECTORY.decode("utf-8"), category) if not os.path.exists(dirlib): os.makedirs(dirlib) name = dirlib + "/" + encode_(media_title) + ".nfo" if os.path.exists(name) and (xbmcgui.Dialog().yesno( ".strm", "", "Exist .nfo file. Continue?") == False): return try: f = open(name, "w+") f.write(nfo + "\n") f.close() except Exception, e: xbmc.log('[%s]: WRITE EXCEPT [%s]' % (ID, e), 4) show_message(e) return
def generate_strm(category, media_title): media_title_orig = media_title if TRANSLIT == "true": media_title = translit.eng(media_title) path = xbmc.getInfoLabel('ListItem.FileNameAndPath') dirlib = os.path.join(DIRECTORY.decode("utf-8"), category.replace("(ts)", "").strip()) xbmc.log("dir=" + dirlib) xbmc.log("dir2=" + DIRECTORY) if not os.path.exists(dirlib): os.makedirs(dirlib) playable = '' if (PLAYABLE == "true") and ( (xbmc.getCondVisibility("ListItem.IsFolder") == False) or (xbmcgui.Dialog().yesno(".strm", "", "Is it playable content?") == True)): playable = '#' uri = playable + path action = "Generated " if ("(ts)" in category): namedir = dirlib + "/" + encode_(media_title) namefile = dirlib + "/" + encode_(media_title) + "/s1e1.strm" name = namedir if not os.path.exists(namedir): os.makedirs(namedir) else: if (xbmcgui.Dialog().yesno( ".strm", "", "Exist .strm file. Continue?") == False): return f = open(namefile, "r+") content = urllib.unquote_plus(f.read()) f.close() if (ID in content): if (xbmcgui.Dialog().yesno( ".strm", "", "Update existing .strm file?") == True): uri = update_uri(content, uri) action = "Updated " try: f = open(namefile, "w+") uri = "plugin://{0}?mode=run&uri={1}&title={2}".format( ID, urllib.quote_plus(uri), encode_( media_title_orig.split('[')[0].split('(')[0].split('/') [0].strip())) f.write(uri + "\n") f.close() except Exception, e: xbmc.log('[%s]: WRITE EXCEPT [%s]' % (ID, e), 4) show_message(e) return
def search(self, keyword): keyword = self.get_user_input() if keyword: self.log("Call other add-ons and pass keyword: %s" % keyword) # INFO: Generate new search id and save it self.search_id = self.search_db.new(keyword) keyword = translit.eng(keyword) if self.isCyrillic(keyword) else keyword for i, plugin in enumerate(self.supported_addons): script = "special://home/addons/%s/default.py" % plugin xbmc.executebuiltin("XBMC.RunScript(%s, %d, mode=search&keyword=%s&unified=True)" % (script, self.handle, keyword), False) # INFO: None means show please wait ... # self.show(None) # print len(self.supported_addons) self.notify(self.language(1000).encode('utf-8'), self.language(2000).encode('utf-8'))
def search(self, keyword): keyword = self.get_user_input() if keyword: self.log("Call other add-ons and pass keyword: %s" % keyword) # INFO: Generate new search id and save it self.search_id = self.search_db.new(keyword) keyword = translit.eng(keyword) if self.isCyrillic(keyword) else keyword for i, plugin in enumerate(self.supported_addons): script = "special://home/addons/%s/default.py" % plugin xbmc.executebuiltin( "XBMC.RunScript(%s, %d, mode=search&keyword=%s&unified=True)" % (script, self.handle, keyword), False, ) # INFO: None means show please wait ... # self.show(None) # print len(self.supported_addons) self.notify(self.language(1000).encode("utf-8"), self.language(2000).encode("utf-8"))
def search(self, keyword): external = False if keyword: external = True keyword = urllib.unquote_plus(keyword) else: keyword = self.get_user_input() if keyword: self.log("Call other add-ons and pass keyword: %s" % keyword) # INFO: Generate new search id and save it self.search_id = self.search_db.new(keyword) keyword = translit.eng(keyword) if self.isCyrillic(keyword) else keyword for i, plugin in enumerate(self.supported_addons): script = "special://home/addons/%s/default.py" % plugin xbmc.executebuiltin("XBMC.RunScript(%s, %d, mode=search&keyword=%s&unified=True)" % (script, self.handle, keyword), True) self.notify(self.language(1000).encode('utf-8'), self.language(2000).encode('utf-8')) checkEnd = False timeout_ = 0 while (checkEnd == False): xbmc.sleep(CHECK_PERIOD) timeout_ += CHECK_PERIOD try: counter = self.search_db.get_counter(self.search_id) except: pass if (counter and (len(self.supported_addons) == counter)) or (timeout_ > self.timeout*1000): self.log("ALL DONE => %s of %d done" % (counter, len(self.supported_addons))) checkEnd = True; self.notify("Search", "Done") self.show(self.search_id, external)