from db import VVVVIDatabase from api import Api api = Api() stream_url = api.get_settings() if stream_url is None: print("VVVVID is not available at the moment") exit(1) vvvvidb = VVVVIDatabase("vvvvidb.sqlite3") api.login() last = 0 smax = 1000 if not vvvvidb.is_valid: # Database file not present # Create a new database vvvvidb.create() else: # Database file is already present # Since we have no information about series lenght prior to their pubblication # We scan all the older id to see if there are new episodes, then we scan every id greater then the last one ids = vvvvidb.series_id() for i in ids.keys(): print("Fetching old...{}".format(i)) info = api.get_info(i) if not info: continue seasons = api.get_seasons(i) for j in seasons: if j['season_id'] not in ids.get(i): # We found a new season for an old show if not vvvvidb.insert_serie((info['show_id'], info['title'], j['season_id'], j['name'])): continue # New episodes for a new or old season episodes = api.get_episodes(j['season_id'], i) eps = api.format_episodes(j['season_id'], info['show_id'], episodes) print("Found {} episodes".format(len(eps))) vvvvidb.insert_episodes(eps) last = i + 1 smax = 200 print("Resuming from...{}".format(last)) # Scan all the episodes for i in range(last, last + smax): print("Fetching...{}".format(i)) info = api.get_info(i) if not info: continue seasons = api.get_seasons(i) for j in seasons: print("Found: {}".format(info['title'])) if not vvvvidb.insert_serie((info['show_id'], info['title'], j['season_id'], j.get('name'))): print("Serie already present") continue episodes = api.get_episodes(j['season_id'], i) eps = api.format_episodes(j['season_id'], info['show_id'], episodes) print("Found {} episodes".format(len(eps))) vvvvidb.insert_episodes(eps)