Настроил динамическую загрузку Ветро проектов (Tasks) из Clockify и добавил новый аргумент для обновления базы данных с серверов

This commit is contained in:
2025-05-21 12:55:27 +03:00
parent 70232f15a0
commit 38a8461070
9 changed files with 49 additions and 15 deletions

View File

@@ -6,7 +6,7 @@ import requests
from tqdm import tqdm
from config import ClockifyConfig, config
from classes import Activity, ActivityType, Tag
from classes import Activity, Tag, VetroProject
from exceptions import InvalidToken
from utils import time_to_hour
@@ -79,6 +79,16 @@ class ClockifyAPI(ClockifyConfig):
title=tag["name"]
) for tag in tags]
def get_vetro_projects(self) -> list[VetroProject]:
projects = requests.get(self.base_url + self.projects_url, headers={"X-API-KEY": self.token}).json()
for project in projects:
if not project.get("archived"):
vetro_projects = requests.get(self.base_url + self.tasks_url(project.get("id")), headers={"X-API-KEY": self.token}).json()
return [VetroProject(
id=vetro_project["id"],
title=vetro_project["name"]
) for vetro_project in vetro_projects]
def mark_tracked(self, activities: list[Activity]):
for activity in activities:
try: