Логинг ошибок загрузки данных из апи
This commit is contained in:
parent
2895bdbaf8
commit
d71aea3236
1 changed files with 24 additions and 15 deletions
39
main.py
39
main.py
|
@ -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)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue