repo migration

This commit is contained in:
2025-05-20 12:02:07 -04:00
commit 29814092b7
54 changed files with 6690 additions and 0 deletions
View File
+105
View File
@@ -0,0 +1,105 @@
__author__ = 'Wendell Jones'
import json
import progressbar
from url.process import Loadurl
class Jsonload():
def __init__(self):
pass
def load(self, rawdata):
jdata = {}
jdata = json.loads(rawdata)
newdata = self.dump(jdata)
return(newdata)
def dump(self, rawdata):
jdata = json.dumps(rawdata, indent=4)
return(jdata)
def jconvert(self, inputdata):
outputdata = json.loads(inputdata)
return(outputdata)
def populate_cache(self, jdata, jfile):
try:
with open(jfile, 'w') as datafile:
datafile.write(jdata)
except:
print('Unable to save cache file.')
else:
datafile.close()
def fetch_json(self, weburl, seriesid, cachefile):
uprocess = Loadurl()
try:
webdata = uprocess.get_data(weburl)
jdata = self.load(webdata)
except Exception as e:
print('Unable to get JSON data for ' + str(seriesid) + ': ' + str(e))
else:
if jdata == '[]':
pass
else:
self.populate_cache(jdata, cachefile)
def processSeriesJson(self, seriesdata):
seriesresults = {}
networkchannel = {}
webchannel = {}
country = {}
seriesresults['id'] = seriesdata['id']
seriesresults['url'] = seriesdata['url']
seriesresults['name'] = seriesdata['name']
seriesresults['type'] = seriesdata['type']
seriesresults['language'] = seriesdata['language']
seriesresults['genres'] = ', '.join(seriesdata['genres'])
seriesresults['status'] = seriesdata['status']
seriesresults['runtime'] = seriesdata['runtime']
seriesresults['premiered'] = seriesdata['premiered']
seriesresults['officalsite'] = seriesdata['officialSite']
if len(seriesdata['schedule']['days']) > 0:
seriesresults['days'] = seriesdata['schedule']['days'][0]
seriesresults['time'] = seriesdata['schedule']['time']
seriesresults['rating'] = seriesdata['rating']['average']
seriesresults['weight'] = seriesdata['weight']
seriesresults['networkid'] = seriesdata['id']
seriesresults['webchannel'] = seriesdata['id']
seriesresults['tvrage'] = seriesdata['externals']['tvrage']
seriesresults['thetvdb'] = seriesdata['externals']['thetvdb']
seriesresults['imdb'] = seriesdata['externals']['imdb']
if seriesdata['image']:
seriesresults['medium'] = seriesdata['image']['medium']
seriesresults['original'] = seriesdata['image']['original']
seriesresults['summary'] = seriesdata['summary']
seriesresults['serieslink'] = seriesdata['_links']['self']['href']
if 'previousepisode' in seriesdata['_links'].keys():
seriesresults['previousepisode'] = seriesdata['_links']['previousepisode']['href']
if 'nextepisode' in seriesdata['_links'].keys():
seriesresults['nextepisode'] = seriesdata['_links']['nextepisode']['href']
if seriesdata['network'] and seriesdata['network'] != None:
networkchannel['id'] = seriesdata['network']['id']
networkchannel['name'] = seriesdata['network']['name']
#networkchannel['countryid'] = country['id']
if seriesdata['network']['country']:
# country['id'] = "auto incremented id"
country['name'] = seriesdata['network']['country']['name']
country['code'] = seriesdata['network']['country']['code']
country['timezone'] = seriesdata['network']['country']['timezone']
if seriesdata['webChannel'] and seriesdata['webChannel'] != None:
webchannel['id'] = seriesdata['webChannel']['id']
webchannel['name'] = seriesdata['webChannel']['name']
#webchannel['countryid'] = country['id']
if seriesdata['webChannel']['country']:
# country['id'] = "auto incremented id"
country['name'] = seriesdata['webchannel']['country']['name']
country['code'] = seriesdata['webchannel']['country']['code']
country['timezone'] = seriesdata['webchannel']['country']['timezone']
return(seriesresults, networkchannel, country, webchannel)
def __del__(self):
pass
+80
View File
@@ -0,0 +1,80 @@
__author__ = 'Wendell Jones'
from ast import Global
import json
import progressbar
class Process_View(object):
global seriesinfo
global episodeinfo
def __init__(self):
pass
def process_seriesdata(self, seriesdata):
seriesinfo = {}
seriesinfo['seriesid'] = seriesdata['id']
seriesinfo['seriesurl'] = seriesdata['url']
seriesinfo['seriesname'] = seriesdata['name']
seriesinfo['seriestype'] = seriesdata['type']
seriesinfo['series_language'] = seriesdata['language']
seriesinfo['series_genres'] = ', '.join(seriesdata['genres'])
seriesinfo['series_status'] = seriesdata['status']
seriesinfo['series_runtime'] = seriesdata['runtime']
seriesinfo['series_premiered'] = seriesdata['premiered']
seriesinfo['offcialsite'] = seriesdata['officialSite']
seriesinfo['air_day'] = ', '.join(seriesdata['schedule']['days'])
seriesinfo['air_time'] = seriesdata['schedule']['time']
seriesinfo['rating'] = seriesdata['rating']['average']
seriesinfo['weight'] = seriesdata['weight']
seriesinfo['networkid'] = seriesdata['network']['id']
seriesinfo['networkname'] = seriesdata['network']['name']
seriesinfo['tvrageid'] = seriesdata['externals']['tvrage']
seriesinfo['tvdbid'] = seriesdata['externals']['thetvdb']
seriesinfo['imdbid'] = seriesdata['externals']['imdb']
seriesinfo['countryname'] = seriesdata['network']['country']['name']
seriesinfo['countrycode'] = seriesdata['network']['country']['code']
seriesinfo['timezone'] = seriesdata['network']['country']['timezone']
self.print_seriesdata(seriesinfo)
def print_seriesdata(self, seriesinfo):
print(f"Series ID: {seriesinfo['seriesid']}")
print(f"Series URL: {seriesinfo['seriesurl']}")
print(f"Series Name: {seriesinfo['seriesname']}")
print(f"Type of Series: {seriesinfo['seriestype']}")
print(f"Lanuguage: {seriesinfo['series_language']}")
print(f"Genres: {seriesinfo['series_genres']}")
print(f"Series Status: {seriesinfo['series_status']}")
print(f"Run Time: {seriesinfo['series_runtime']}")
print(f"Premier Date: {seriesinfo['series_premiered']}")
print(f"Official Website: {seriesinfo['offcialsite']}")
print(f"Day Aired: {seriesinfo['air_day']}")
print(f"Time Aired: {seriesinfo['air_time']}")
print(f"Rating: {seriesinfo['rating']}")
print(f"Weight: {seriesinfo['weight']}")
print(f"Network ID: {seriesinfo['networkid']}")
print(f"Network Name: {seriesinfo['networkname']}")
print(f"TVRage ID: {seriesinfo['tvrageid']}")
print(f"TVDB ID: {seriesinfo['tvdbid']}")
print(f"IMDB ID: {seriesinfo['imdbid']}")
print(f"Country: {seriesinfo['countryname']}")
print(f"Country Code: {seriesinfo['countrycode']}")
print(f"Timezone: {seriesinfo['timezone']}")
def process_episodedata(self, episodeinfo):
episodeinfo = {}
def print_episodedata(self, episodeinfo):
for episode in episodeinfo:
print(f"Air Date: {episode['airdate']}")
print(f"Air Time: {episode['airtime']}")
print(f"Season: {episode['season']}")
print(f"Episode: {episode['number']}")
print(f"Episode Name: {episode['name']}")
print(f"Summary: {episode['summary']}")
print(f"Rating: {episode['rating']['average']}")
print(f"Medium Image: {episode['image']['medium']}")
print(f"Original Image: {episode['image']['original']}")
def __del__(self):
pass