Логинг ошибок загрузки данных из апи

This commit is contained in:
Mootfrost777 2022-08-08 21:05:54 +03:00
parent 2895bdbaf8
commit d71aea3236

39
main.py
View file

@ -14,18 +14,22 @@ from datetime import datetime
from models.Project import Project
import argparse
import config
# Parse arguments
parser = argparse.ArgumentParser()
parser.add_argument('--host', dest='host', type=str, help='Hostname of the server')
parser.add_argument('--port', dest='port', type=int, help='Port of the server')
args = parser.parse_args()
# Initialize global application
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
templates = Jinja2Templates(directory="static/templates")
# Initialize global variables
repos = []
code_stats = {}
@ -55,31 +59,36 @@ def load_projects():
repos.clear()
for repo in resp['data']:
repos.append(Project(repo["name"], repo["description"], repo["html_url"]))
print(f'{datetime.now()}: Projects updated')
except Exception as e:
print(e)
print(f'{datetime.now()}: Error while updating projects: {e}')
time.sleep(7200)
def load_code_stats():
while True:
resp = requests.get("https://wakatime.com/api/v1/users/Mootfrost/stats/").json()
global code_stats
code_stats.clear()
try:
resp = requests.get("https://wakatime.com/api/v1/users/Mootfrost/stats/").json()
global code_stats
code_stats.clear()
total = resp['data']['categories'][0]
code_stats['total'] = get_declension(total['hours'], 'час', 'часа', 'часов') + ' ' + \
get_declension(total['minutes'], 'минуту', 'минуты', 'минут')
total = resp['data']['categories'][0]
code_stats['total'] = get_declension(total['hours'], 'час', 'часа', 'часов') + ' ' + \
get_declension(total['minutes'], 'минуту', 'минуты', 'минут')
# WakaTime дает рэйндж только в хьюман ридбил формате, а не в дате...
code_stats['since'] = datetime.strptime(resp['data']['human_readable_range']
.replace('since ', ''), '%b %d %Y') \
.strftime('%d.%m.%Y')
# WakaTime дает рэйндж только в хьюман ридбил формате, а не в дате...
code_stats['since'] = datetime.strptime(resp['data']['human_readable_range']
.replace('since ', ''), '%b %d %Y') \
.strftime('%d.%m.%Y')
langs = resp['data']['languages']
langs = resp['data']['languages']
code_stats['languages'] = {}
for lang in langs[:5]:
code_stats['languages'][lang['name']] = f"{round(lang['percent'])}%"
code_stats['languages'] = {}
for lang in langs[:5]:
code_stats['languages'][lang['name']] = f"{round(lang['percent'])}%"
print(f'{datetime.now()}: Code stats updated')
except Exception as e:
print(f'{datetime.now()}: Error while updating code stats: {e}')
time.sleep(7200)