Moved some methods to action.py and created refreshToken()

This commit is contained in:
Clayton Wilson 2017-11-01 12:51:23 -04:00
parent 2c86a7ce8d
commit 96870d4198
3 changed files with 49 additions and 46 deletions

View File

@ -5,51 +5,6 @@ import os.path
import shutil import shutil
# import login # 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 def searchRemainder(imageType, saveNameList, idNum):#Finds any images missing from the api call in getImages
numbers = [] numbers = []
print("Checking for missing images...")#TODO implement this method print("Checking for missing images...")#TODO implement this method

47
actions.py Normal file
View 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

View File

@ -1,6 +1,7 @@
import json import json
import os.path import os.path
from checks import * from checks import *
from actions import *
import datetime import datetime
import dateutil.parser import dateutil.parser
@ -60,6 +61,6 @@ def login():
if checkTimestamp(saveTime, curTime):# token does not need refreshed if checkTimestamp(saveTime, curTime):# token does not need refreshed
print("token is good") print("token is good")
else: 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 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 # TODO at startup, check token for validity and remove it if it is expired