1
0
Fork 0
mirror of synced 2024-07-07 23:45:50 +12:00
Rare/rare/utils/id.py

75 lines
1.8 KiB
Python
Raw Normal View History

2021-04-28 06:31:40 +12:00
import requests
import json
from datetime import date
file = "game_list.json"
url = "https://api.steampowered.com/ISteamApps/GetAppList/v2/"
def get_id(game_name):
global file
if check_time() == 1:
upgrade_content()
text = open(file, 'r')
game_list = json.load(text)
2021-04-28 06:45:31 +12:00
2021-04-28 06:31:40 +12:00
return game_list[game_name.lower()]
def upgrade_content(): # this function uploads the ids database, aka game_list.json
global url
global file
response = requests.get(url)
content = json.loads(response.text)
table = open(file, 'w')
game_list = {}
for game in content['applist']['apps']:
game_list[game['name'].lower()] = game['appid']
# uploding date on json
today = date.today()
game_list['data'] = {}
for i in "ymd":
game_list["data"][i] = today.strftime('%' + i)
json.dump(game_list, table)
table.close()
def check_time(): # this function check if it's time to update
global file
text = open(file, 'r')
json_table = json.load(text)
text.close()
today = date.today()
day = 0 # it controls how many days it's necessary for an update
for i in 'ymd':
if i == 'd':
day = 7
else:
day = 0
if int(today.strftime('%' + i)) > int(json_table['data'][i]) + day:
return 1
else:
return 0
# you should iniciate the module with the game's steam code
def get_grade(steam_code):
steam_code = str(steam_code)
url = 'https://www.protondb.com/api/v1/reports/summaries/'
res = requests.get(url + steam_code + '.json')
text = res.text
lista = json.loads(text)
# print(lista['tier']) # just for debug pourpouses!!!
return lista['tier']
2021-05-04 07:01:05 +12:00
def id(game_name):
return get_grade(get_id(game_name))