From 11fb86b06d8bb2da9b829d41b8e9ed60c506ff61 Mon Sep 17 00:00:00 2001 From: Eduard Date: Mon, 19 May 2025 14:32:56 +0300 Subject: [PATCH] . --- api/clockify.py | 4 ++-- config/__init__.py | 8 +++++++- track.py | 11 +++++------ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/api/clockify.py b/api/clockify.py index 5fd0175..75ed816 100644 --- a/api/clockify.py +++ b/api/clockify.py @@ -1,4 +1,4 @@ -from datetime import datetime +from datetime import datetime, timedelta import logging from colorama import Fore @@ -36,7 +36,7 @@ class ClockifyAPI(ClockifyConfig): for tag_id in activity.get("tagIds", {"tagIds": []}): 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.now()) - start) + 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] try: task_id, task_title = tag.title.split(" - ") diff --git a/config/__init__.py b/config/__init__.py index bc85cb5..c363ae3 100644 --- a/config/__init__.py +++ b/config/__init__.py @@ -27,6 +27,12 @@ def configure_argument_parser(): '--end', help='Дата окончания парсинга активностей в формате гггг-мм-дд' ) + parser.add_argument( + '-p', + '--page-size', + help='Количество задач для вывода' + ) return parser -config = Config() \ No newline at end of file +arg_parser = configure_argument_parser() +config = Config() diff --git a/track.py b/track.py index 308baeb..a96e98c 100644 --- a/track.py +++ b/track.py @@ -2,7 +2,7 @@ import logging import sys from api import ClockifyAPI, RedmineAPI -from config import config, configure_argument_parser +from config import arg_parser, config from utils import format_date, str_to_date, today_start, today_end @@ -11,7 +11,6 @@ USER_ID = config.CLOCKIFY_USER_ID def main(): - arg_parser = configure_argument_parser() args = arg_parser.parse_args() start, end = None, None if args.start: @@ -30,11 +29,11 @@ def main(): red = RedmineAPI(config.REDMINE_TOKEN) activities = clock.get_activities( start=format_date(start), - end=format_date(end) + end=format_date(end), + **{"page-size": args.page_size}, ) - # tracked_activities = red.track_activities(activities) - # clock.mark_tracked(tracked_activities) - print(activities[-1]) + tracked_activities = red.track_activities(activities) + clock.mark_tracked(tracked_activities) if __name__ == "__main__":