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