Merge pull request 'Исправил ошибку, при которой нужный тег не парсился с сервера из-за ограничения выборки в 50 тегов. Увеличил до 100 тегов' (#1) from dev into master

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2025-06-19 10:19:47 +03:00
2 changed files with 7 additions and 2 deletions

View File

@@ -36,6 +36,8 @@ class ClockifyAPI(ClockifyConfig):
logger.info(f"Получено задач: {len(activities)}")
time_worked_out_total = 0
tags = self.get_tags(**{"page-size": self.tags_count})
result = []
for activity in tqdm(activities, desc="Парсинг задач"):
if not activity.get("tagIds"):
@@ -45,9 +47,9 @@ class ClockifyAPI(ClockifyConfig):
start = datetime.strptime(activity["timeInterval"]["start"], config.DATETIME_FORMAT)
end = datetime.strptime(activity["timeInterval"]["end"], config.DATETIME_FORMAT) if activity["timeInterval"]["end"] else None
time_worked_out_total += time_to_hour((end if end else datetime.utcnow()) - start)
tag = [tag for tag in self.get_tags() if tag.id == tag_id][0]
tag = [tag for tag in tags if tag.id == tag_id]
try:
task_id = parse_task_id(tag.title)
task_id = parse_task_id(tag[0].title)
except ValueError:
logger.info(f'{activity["timeInterval"]["start"]}: {activity["description"]} - Неправильный формат тега {tag}')
continue
@@ -79,6 +81,7 @@ class ClockifyAPI(ClockifyConfig):
Получает с сервера Clockify теги
name: str - optional
archived: bool - optional
page-size: int - optional
"""
tags = requests.get(self.base_url + self.tags_url, params=kwargs, headers={"X-API-KEY": self.token}).json()
return [Tag(

View File

@@ -9,6 +9,8 @@ class ClockifyConfig:
self.time_entries_url = f"/{self.workspace_url}/user/{self.user_id}/time-entries"
self.user_url = "/user"
self.projects_url = f"{self.workspace_url}/projects"
self.tags_count = 100
def update_time_entry(self, activity_id):
return f"{self.workspace_url}/time-entries/{activity_id}"