mirror of
https://github.com/ClaytonWWilson/Scraper-for-theTVDB.com.git
synced 2025-12-15 17:28:46 +00:00
Moved some methods to action.py and created refreshToken()
This commit is contained in:
parent
2c86a7ce8d
commit
96870d4198
@ -5,51 +5,6 @@ import os.path
|
||||
import shutil
|
||||
# import login
|
||||
|
||||
def getImages(idNum, keyType, authHeaders):
|
||||
imageUrl = "https://api.thetvdb.com/series/" + str(idNum) + "/images/query" + keyType
|
||||
response = requests.get(imageUrl, headers=authHeaders)
|
||||
if (checkStatus(response, True)):
|
||||
return response
|
||||
else:
|
||||
quit()
|
||||
|
||||
def downloadImages(imageType, respObj, idNum):# TODO some images arent grabbed through the api. save the image number and make a try catch to get any missing images
|
||||
if (os.path.exists(imageType)):#TODO add try catch here
|
||||
print("\nClearing /%s/" % imageType)
|
||||
shutil.rmtree(imageType)
|
||||
os.makedirs(imageType)
|
||||
|
||||
parsed_respObj = json.loads(respObj.content)
|
||||
|
||||
saveNameList = download(imageType, parsed_respObj)
|
||||
|
||||
searchRemainder(imageType, saveNameList, idNum)
|
||||
|
||||
def download(imageType, parsed_respObj):
|
||||
counter = 0
|
||||
saveNameList = []
|
||||
for imageObj in parsed_respObj["data"]:
|
||||
fileName = parsed_respObj["data"][counter]["fileName"]#TODO the download method should start here, move everything else up to downloadImages
|
||||
counter = counter + 1
|
||||
|
||||
slashIndex = fileName.rfind("/")
|
||||
saveName = fileName[slashIndex + 1:]
|
||||
|
||||
saveNameList.append(saveName)
|
||||
|
||||
print("Downloading... " + fileName)
|
||||
dlUrl = "https://www.thetvdb.com/banners/" + fileName
|
||||
response = requests.get(dlUrl)# TODO getting errors when checking 'new game'. Check to see if those images actually exist
|
||||
|
||||
if (checkStatus(response, True)):
|
||||
path = os.path.join(imageType + "\\", saveName)
|
||||
obj = open(path, "wb")
|
||||
obj.write(response.content)
|
||||
obj.close()
|
||||
else:
|
||||
quit()
|
||||
return saveNameList
|
||||
|
||||
def searchRemainder(imageType, saveNameList, idNum):#Finds any images missing from the api call in getImages
|
||||
numbers = []
|
||||
print("Checking for missing images...")#TODO implement this method
|
||||
|
||||
47
actions.py
Normal file
47
actions.py
Normal file
@ -0,0 +1,47 @@
|
||||
def refreshToken():
|
||||
print("Not implemented yet")
|
||||
|
||||
def getImages(idNum, keyType, authHeaders):
|
||||
imageUrl = "https://api.thetvdb.com/series/" + str(idNum) + "/images/query" + keyType
|
||||
response = requests.get(imageUrl, headers=authHeaders)
|
||||
if (checkStatus(response, True)):
|
||||
return response
|
||||
else:
|
||||
quit()
|
||||
|
||||
def downloadImages(imageType, respObj, idNum):# TODO some images arent grabbed through the api. save the image number and make a try catch to get any missing images
|
||||
if (os.path.exists(imageType)):#TODO add try catch here
|
||||
print("\nClearing /%s/" % imageType)
|
||||
shutil.rmtree(imageType)
|
||||
os.makedirs(imageType)
|
||||
|
||||
parsed_respObj = json.loads(respObj.content)
|
||||
|
||||
saveNameList = download(imageType, parsed_respObj)
|
||||
|
||||
searchRemainder(imageType, saveNameList, idNum)
|
||||
|
||||
def download(imageType, parsed_respObj):
|
||||
counter = 0
|
||||
saveNameList = []
|
||||
for imageObj in parsed_respObj["data"]:
|
||||
fileName = parsed_respObj["data"][counter]["fileName"]#TODO the download method should start here, move everything else up to downloadImages
|
||||
counter = counter + 1
|
||||
|
||||
slashIndex = fileName.rfind("/")
|
||||
saveName = fileName[slashIndex + 1:]
|
||||
|
||||
saveNameList.append(saveName)
|
||||
|
||||
print("Downloading... " + fileName)
|
||||
dlUrl = "https://www.thetvdb.com/banners/" + fileName
|
||||
response = requests.get(dlUrl)# TODO getting errors when checking 'new game'. Check to see if those images actually exist
|
||||
|
||||
if (checkStatus(response, True)):
|
||||
path = os.path.join(imageType + "\\", saveName)
|
||||
obj = open(path, "wb")
|
||||
obj.write(response.content)
|
||||
obj.close()
|
||||
else:
|
||||
quit()
|
||||
return saveNameList
|
||||
3
login.py
3
login.py
@ -1,6 +1,7 @@
|
||||
import json
|
||||
import os.path
|
||||
from checks import *
|
||||
from actions import *
|
||||
import datetime
|
||||
import dateutil.parser
|
||||
|
||||
@ -60,6 +61,6 @@ def login():
|
||||
if checkTimestamp(saveTime, curTime):# token does not need refreshed
|
||||
print("token is good")
|
||||
else:
|
||||
print("token needs refreshed")
|
||||
refreshToken()
|
||||
# TODO try to get token, if token fails, ask for login info again, if it passes save login details to login.py and save token with timestamp.
|
||||
# TODO at startup, check token for validity and remove it if it is expired
|
||||
|
||||
Loading…
Reference in New Issue
Block a user