def fetch_from_db(url): koding.reset_db() tmdb_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("tmdb_plugin", tmdb_plugin_spec) match = koding.Get_From_Table( "tmdb_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if created_time and float(created_time) + CACHE_TIME >= time.time(): match_item = match["item"].replace("'", "\"") try: match_item = match_item.encode('ascii', 'ignore') except: match_item = match_item.decode('utf-8').encode('ascii', 'ignore') return pickle.loads(match_item) else: return [] else: return []
def fetch_from_db(url): koding.reset_db() pcastone_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("pcastone_com_plugin", pcastone_plugin_spec) match = koding.Get_From_Table( "pcastone_com_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if created_time and float(created_time) + CACHE_TIME >= time.time(): match_item = match["item"] try: result = base64.b64decode(match_item) except: return None return result else: return else: return
def fetch_from_db2(url): koding.reset_db() url2 = clean_url(url) match = koding.Get_All_From_Table(url2) if match: match = match[0] if not match["value"]: return None match_item = match["value"] try: result = pickle.loads(base64.b64decode(match_item)) except: return None created_time = match["created"] print created_time + "created" print time.time() print CACHE_TIME test_time = float(created_time) + CACHE_TIME print test_time if float(created_time) + CACHE_TIME <= time.time(): koding.Remove_Table(url2) db = sqlite3.connect('%s' % (database_loc)) cursor = db.cursor() db.execute("vacuum") db.commit() db.close() display_list2(result, "video", url2) else: pass return result else: return []
def fetch_from_db(url): koding.reset_db() lastfm_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("lastfm_plugin", lastfm_plugin_spec) match = koding.Get_From_Table("lastfm_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if created_time and float(created_time) + float( CACHE_TIME) >= time.time(): match_item = match["item"].replace("'", "\"") return pickle.loads(match_item) else: return [] else: return []
def save_to_db(items, url): if not items or not url: return False url2 = clean_url(url) koding.reset_db() test_spec = {"columns": {"value": "TEXT", "created": "TEXT"}} koding.Create_Table(url2, test_spec) set_val = base64.b64encode(pickle.dumps(items)) koding.Add_To_Table(url2, {"value": set_val, "created": time.time()}) table_name_spec = { "columns": { "name": "TEXT", } } koding.Create_Table("Table_names", table_name_spec) plugin_table_name_spec = { "columns": { "name": "TEXT", } } koding.Create_Table("Plugin_table_names", plugin_table_name_spec) if "PLugin" in url: koding.Add_To_Table("Plugin_table_names", { "name": url2, }) else: koding.Add_To_Table("Table_names", { "name": url2, })
def fetch_from_db(url): koding.reset_db() tmdb_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("tmdb_plugin", tmdb_plugin_spec) match = koding.Get_From_Table( "tmdb_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if created_time and float(created_time) + CACHE_TIME >= time.time(): match_item = match["item"] try: result = pickle.loads(base64.b64decode(match_item)) except: return None return result else: return [] else: return []
def fetch_from_db(url): koding.reset_db() lastfm_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("lastfm_plugin", lastfm_plugin_spec) match = koding.Get_From_Table("lastfm_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if created_time and float(created_time) + float(CACHE_TIME) >= time.time(): match_item = match["item"].replace("'", "\"") return pickle.loads(match_item) else: return [] else: return []
def fetch_from_db(url): koding.reset_db() url2 = clean_url(url) match = koding.Get_All_From_Table(url2) if match: match = match[0] if not match["value"]: return None match_item = match["value"] try: result = pickle.loads(base64.b64decode(match_item)) except: return None created_time = match["created"] if float(created_time) + int(main_cache_time) <= time.time(): koding.Remove_Table(url2) db = sqlite3.connect('%s' % (database_loc)) cursor = db.cursor() db.execute("vacuum") db.commit() db.close() return result else: return result return result else: return []
def save_to_db(item, url): koding.reset_db() koding.Remove_From_Table("lastfm_plugin", {"url": url}) koding.Add_To_Table("lastfm_plugin", { "url": url, "item": pickle.dumps(item).replace("\"", "'"), "created": time.time() })
def save_to_db(item, url): koding.reset_db() koding.Remove_From_Table("trakt_plugin", {"url": url}) koding.Add_To_Table("trakt_plugin", { "url": url, "item": pickle.dumps(item).replace("\"", "'"), "created": time.time() })
def set_list_view_mode(content): skin = xbmc.getSkinDir() koding.reset_db() match = koding.Get_From_Table("addonviews", { "skin": skin, "content": content }) if match: match = match[0] xbmc.executebuiltin('Container.SetViewMode(%s)' % str(match["viewid"]))
def save_to_db(item, url): if not item or not url: return False koding.reset_db() koding.Remove_From_Table("tmdb_plugin", {"url": url}) koding.Add_To_Table( "tmdb_plugin", { "url": url, "item": base64.b64encode(pickle.dumps(item)), "created": time.time() })
def save_to_db(item, url): if not item or not url: return False item = remove_non_ascii(item) koding.reset_db() koding.Remove_From_Table("trakt_plugin", {"url": url}) koding.Add_To_Table("trakt_plugin", { "url": url, "item": pickle.dumps(item).replace("\"", "'"), "created": time.time() })
def save_to_db(item, url): if not item or not url: return False try: koding.reset_db() koding.Remove_From_Table("toonova_com_plugin", {"url": url}) koding.Add_To_Table("toonova_com_plugin", { "url": url, "item": base64.b64encode(item), "created": time.time() }) except: return False
def get_info(items, dialog=None): from resources.lib.util.xml import JenItem result = run_hook("get_info", items, dialog) if result: return result koding.reset_db() info = [] num_items = len(items) for index, item_xml in enumerate(items): if dialog: if dialog.iscanceled(): dialog.close() break percent = ((index + 1) * 100) / num_items dialog.update( percent, _("[COLORred]processing list, please be patient.....[/COLOR]"), "%s of %s" % (index + 1, num_items)) if type(item_xml) == dict: item = item_xml else: item = JenItem(item_xml) item_info = {} content = item.get("content", "") try: if content == "movie": item_info = get_movie_metadata(item["imdb"]) elif content in ["tvshow", "season"]: item_info = get_show_metadata(item["imdb"]) elif content == "episode": item_info = get_episode_metadata(item["imdb"], item["season"], item["episode"]) if type(item_info) == list: item_info = {} if not item_info.get("plotoutline", None): item_info["plotoutline"] = item_info.get("plot", "") except Exception as e: koding.dolog("info error: " + repr(e)) summary = item.get("summary", False) if summary: if not item_info or type(item_info) != dict: item_info = {} item_info["plot"] = summary item_info["manual"] = True info.append(item_info) if dialog: dialog.close() tvdb.clear_cache() return info
def get_info(items, dialog=None): from resources.lib.util.xml import JenItem result = run_hook("get_info", items, dialog) if result: return result koding.reset_db() info = [] num_items = len(items) for index, item_xml in enumerate(items): if dialog: if dialog.iscanceled(): dialog.close() break percent = ((index + 1) * 100) / num_items dialog.update(percent, _("processing metadata"), "%s of %s" % (index + 1, num_items)) if type(item_xml) == dict: item = item_xml else: item = JenItem(item_xml) item_info = {} content = item.get("content", "") try: if content == "movie": item_info = get_movie_metadata(item["imdb"]) elif content in ["tvshow", "season"]: item_info = get_show_metadata(item["imdb"]) elif content == "episode": item_info = get_episode_metadata(item["imdb"], item["season"], item["episode"]) if type(item_info) == list: item_info = {} if not item_info.get("plotoutline", None): item_info["plotoutline"] = item_info.get("plot", "") except Exception as e: koding.dolog("info error: " + repr(e)) summary = item.get("summary", False) if summary: if not item_info or type(item_info) != dict: item_info = {} item_info["plot"] = summary item_info["manual"] = True info.append(item_info) if dialog: dialog.close() tvdb.clear_cache() return info
def save_to_db(item, url): if not item or not url: return False koding.reset_db() koding.Remove_From_Table( "tmdb_plugin", { "url": url }) koding.Add_To_Table("tmdb_plugin", { "url": url, "item": base64.b64encode(pickle.dumps(item)), "created": time.time() })
def fetch_from_db(url): koding.reset_db() trakt_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "content_type": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("trakt_plugin", trakt_plugin_spec) match = koding.Get_From_Table("trakt_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if "tmdb" in url: if created_time and float( created_time) + CACHE_TMDB_TIME >= time.time(): match_item = match["item"].replace("'", "\"") try: match_item = match_item.encode('ascii', 'ignore') except: match_item = match_item.decode('utf-8').encode( 'ascii', 'ignore') result = pickle.loads(match_item) if type(result) == str and result.startswith("{"): result = eval(result) return result if created_time and float(created_time) + float( CACHE_TIME) >= time.time(): match_item = match["item"].replace("'", "\"") content_type = match["content_type"] try: match_item = match_item.encode('ascii', 'ignore') except: match_item = match_item.decode('utf-8').encode( 'ascii', 'ignore') return (pickle.loads(match_item), content_type) else: return [] else: return []
def save_to_db(item, url): if not item or not url: return False if type(item) == tuple: content_type = item[1] item = item[0] else: content_type = None item = remove_non_ascii(item) koding.reset_db() koding.Remove_From_Table("trakt_plugin", {"url": url}) koding.Add_To_Table("trakt_plugin", { "url": url, "item": base64.b64encode(pickle.dumps(item)), "content_type": content_type, "created": time.time() })
def fetch_from_db(url): koding.reset_db() trakt_plugin_spec = { "columns": { "url": "TEXT", "item": "TEXT", "content_type": "TEXT", "created": "TEXT" }, "constraints": { "unique": "url" } } koding.Create_Table("trakt_plugin", trakt_plugin_spec) match = koding.Get_From_Table("trakt_plugin", {"url": url}) if match: match = match[0] if not match["item"]: return None created_time = match["created"] if "tmdb" in url: if created_time and float( created_time) + CACHE_TMDB_TIME >= time.time(): match_item = match["item"] try: result = pickle.loads(base64.b64decode(match_item)) except: return None if type(result) == str and result.startswith("{"): result = eval(result) return result if created_time and float(created_time) + float(CACHE_TIME) >= time.time(): match_item = match["item"] try: content_type = match["content_type"] result = pickle.loads(base64.b64decode(match_item)) except: return None return (result, content_type) else: return [] else: return []