Добавил режим отладки. Исправил проблемы с логгером
This commit is contained in:
51
track.py
51
track.py
@@ -1,9 +1,19 @@
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from api import ClockifyAPI, RedmineAPI
|
||||
from config import arg_parser, config, db
|
||||
from utils import format_date, str_to_date, today_start, today_end
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
|
||||
handlers=[
|
||||
logging.FileHandler('app.log', encoding='utf-8'),
|
||||
logging.StreamHandler(sys.stdout)
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
from api import ClockifyAPI, RedmineAPI # noqa: E402
|
||||
from config import arg_parser, config, db # noqa: E402
|
||||
from utils import format_date, str_to_date, today_start, today_end # noqa: E402
|
||||
|
||||
|
||||
WORKSPACE_ID = config.CLOCKIFY_WORKSPACE_ID
|
||||
@@ -12,24 +22,29 @@ USER_ID = config.CLOCKIFY_USER_ID
|
||||
|
||||
def main():
|
||||
args = arg_parser.parse_args()
|
||||
|
||||
if args.debug:
|
||||
logging.getLogger().setLevel(logging.DEBUG)
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
start, end = None, None
|
||||
if args.start:
|
||||
start = str_to_date(args.start)
|
||||
if args.end:
|
||||
end = str_to_date(args.end)
|
||||
if args.start is None and args.end is None:
|
||||
logging.info("Парсим задачи за сегодняшний день")
|
||||
logger.info("Парсим задачи за сегодняшний день")
|
||||
start = today_start()
|
||||
end = today_end()
|
||||
else:
|
||||
logging.info("Парсим задачи" + (f" с {start.date()} " if start else " ") + (f"до {end.date()}" if end else ""))
|
||||
logger.info("Парсим задачи" + (f" с {start.date()} " if start else " ") + (f"до {end.date()}" if end else ""))
|
||||
|
||||
clock = ClockifyAPI(
|
||||
token=config.CLOCKIFY_TOKEN,
|
||||
workspace_id=WORKSPACE_ID,
|
||||
user_id=USER_ID
|
||||
)
|
||||
red = RedmineAPI(config.REDMINE_TOKEN)
|
||||
db.insert_tags(clock.get_tags())
|
||||
db.insert_vetro_projects(config.VETRO_PROJECTS)
|
||||
activities = clock.get_activities(
|
||||
@@ -40,7 +55,6 @@ def main():
|
||||
},
|
||||
)
|
||||
db.insert_activities(activities)
|
||||
db.insert_time_entries(activities)
|
||||
db.insert_activity_types({
|
||||
9: "Разработка",
|
||||
8: "Бизнес-анализ",
|
||||
@@ -48,20 +62,17 @@ def main():
|
||||
58: "Внутренние консультации",
|
||||
60: "Поддержка",
|
||||
})
|
||||
# tracked_activities = red.track_activities(activities)
|
||||
# clock.mark_tracked(tracked_activities)
|
||||
if args.debug:
|
||||
logger.debug("Пропускаем этап загрузки трудочасов")
|
||||
return
|
||||
try:
|
||||
red = RedmineAPI(config.REDMINE_TOKEN)
|
||||
tracked_activities = red.track_activities(activities)
|
||||
clock.mark_tracked(tracked_activities)
|
||||
db.insert_time_entries(tracked_activities)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format=('%(asctime)s, '
|
||||
'%(levelname)s, '
|
||||
'%(funcName)s, '
|
||||
'%(message)s'
|
||||
),
|
||||
encoding='UTF-8',
|
||||
handlers=[logging.FileHandler(__file__ + '.log'),
|
||||
logging.StreamHandler(sys.stdout)]
|
||||
)
|
||||
main()
|
||||
|
||||
Reference in New Issue
Block a user