12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import os
- import json
- import requests
- import sqlite3
- 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()
- 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))
- print(ids.get(i))
- info = api.get_info(i)
- if not info:
- continue
- seasons = api.get_seasons(i)
- for j in seasons:
- serie = (info['show_id'], info['title'], j['season_id'], j['name'])
- if j['season_id'] not in ids.get(i):
- # We found a new season for an old show
- print("Found: {}".format(info['title']))
- if not vvvvidb.insert_serie(serie):
- continue
- episodes = get_episodes(j['season_id'], i, conn_id)
- if not episodes:
- continue
- format_episodes(info, j, episodes, vvvvid_stream_url)
- print("Found {} episodes".format(len(eps)))
- vvvvidb.insert_episode(eps)
- else:
- # Check if there are new episodes for old season
- episodes = get_episodes(j['season_id'], i, conn_id)
- if not episodes:
- continue
- eps = format_episodes(info, j, episodes, vvvvid_stream_url)
- print("Found {} episodes".format(len(eps)))
- vvvvidb.insert_episodes(eps)
- last = i
- print("Resuming from...{}".format(last))
- exit()
- """
- last = 0
- # Scan all the episodes
- for i in range(last, min(last + 500, 1000)):
- print("Fetching...{}".format(i))
- info = api.get_info(i)
- if not info:
- continue
- seasons = api.get_seasons(i)
- for j in seasons:
- serie = (info['show_id'], info['title'], j['season_id'], j['name'])
- print("Found: {}".format(info['title']))
- if not vvvvidb.insert_serie(serie):
- print("Serie already present")
- continue
- episodes = api.get_episodes(j['season_id'], i)
- print(len(episodes))
- eps = api.format_episodes(j['season_id'], info['show_id'], episodes)
- print("Found {} episodes".format(len(eps)))
- vvvvidb.insert_episodes(eps)
|