Аоаоаоаоаоа, загрузка из wakatime адекватная, поправил настройки CI

This commit is contained in:
Mootfrost777 2022-11-22 22:22:06 +03:00
parent ce9e3d4c15
commit 26bc042121
5 changed files with 32 additions and 27 deletions

View file

@ -28,7 +28,11 @@ steps:
volumes:
- name: docker_sock
path: /var/run/docker.sock
environment:
WAKATIME_APIKEY:
from_secret: BOT_TOKEN
commands:
- WAKATIME_APIKEY=$$WAKATIME_APIKEY
- docker-compose -p mootfrost-dev up -d
- name: prune
image: docker/compose:latest

View file

@ -5,6 +5,8 @@ services:
image: registry.mootfrost.ru/mootfrost-dev/backend
container_name: mootfrost-dev_backend
restart: always
environment:
- WAKATIME_APIKEY=${WAKATIME_APIKEY}
build: .
ports:
- "7632:7632"

28
main.py
View file

@ -8,6 +8,8 @@ import requests
import threading
import time
import os
import math
from datetime import datetime
@ -67,24 +69,22 @@ def load_projects():
def load_code_stats():
while True:
resp = requests.get("https://wakatime.com/api/v1/users/Mootfrost/stats/").json()
resp = requests.get(f"https://wakatime.com/api/v1/users/current/insights/languages/last_7_days",
params={'api_key': os.environ['WAKATIME_APIKEY']}).json()
global code_stats
code_stats.clear()
total = resp['data']['categories'][0]
code_stats['total'] = get_declension(total['hours'], 'час', 'часа', 'часов') + ' ' + \
get_declension(total['minutes'], 'минуту', 'минуты', 'минут')
for el in resp['data']['languages']:
hours = math.trunc(el['total_seconds']) // 3600
minutes = (math.trunc(el['total_seconds']) % 3600) // 60
# WakaTime дает рэйндж только в хьюман ридбил формате, а не в дате...
code_stats['since'] = datetime.strptime(resp['data']['human_readable_range']
.replace('since ', ''), '%b %d %Y') \
.strftime('%d.%m.%Y')
langs = resp['data']['languages']
code_stats['languages'] = {}
for lang in langs[:5]:
code_stats['languages'][lang['name']] = f"{round(lang['percent'])}%"
code_stats[el['name']] = ''
if hours > 0:
code_stats[el['name']] = get_declension(hours, 'час', 'часа', 'часов') + ' '
if minutes > 0:
code_stats[el['name']] += get_declension(minutes, 'минуту', 'минуты', 'минут') + ' '
if code_stats[el['name']] == '':
code_stats.pop(el['name'])
time.sleep(7200)

View file

@ -3,7 +3,7 @@
.wrapper {
width: 40%;
position: relative;
margin-top: 40px;
margin-top: 20px;
left: 50%;
transform: translateX(-50%);
color: white;
@ -15,8 +15,9 @@
}
.content {
margin-top: 20px;
font-size: 1.8rem;
margin-top: 10px;
margin-bottom: 10px;
font-size: 1.5rem;
word-wrap: break-word;
line-height: 2;
line-height: 1.9;
}

View file

@ -36,13 +36,11 @@
</a>
<div class="wrapper pe-none">
<span class="main-title">Обо мне:</span>
<p class="content">
Семейкин Андрей, <span id="age"></span><br>
Живу в Москве, учусь в 1580<br>
В основном пишу на C#, python, JS. Немного знаю C++ и Java<br>
Разбираюсь в Linux, Docker, Drone CI<br>
За последнюю неделю писал <span id="code-stats"></span>
<p class="content">Семейкин Андрей, <span id="age"></span>, программист<br></p>
<p class="content">Живу в Москве, учусь в 1580<br></p>
<p class="content">Пишу на C#, python, JS. Немного знаю C++ и Java<br></p>
<p class="content">Разбираюсь в Linux, Docker, Drone CI<br></p>
<p class="content">За последнюю неделю <span id="code-stats"></span></p>
</p>
</div>
@ -66,8 +64,8 @@
return
}
for (let lang in code_stats['languages']) {
about.innerHTML += `${code_stats['languages'][lang]} на ${lang}, `
for (let lang in code_stats) {
about.innerHTML += `${code_stats[lang]}на ${lang}, `
}
about.innerHTML = about.innerHTML.slice(0, -2)
}