Files
redmine_tracker/config/__init__.py

67 lines
2.4 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import argparse
from pydantic_settings import BaseSettings
from dotenv import load_dotenv
from db.db import Database
from .clockify import ClockifyConfig # noqa: F401
from .redmine import RedmineConfig # noqa: F401
load_dotenv()
class Config(BaseSettings):
CLOCKIFY_TOKEN: str
REDMINE_TOKEN: str
CLOCKIFY_USER_ID: str
CLOCKIFY_WORKSPACE_ID: str
DB_NAME: str = "RedmineTracker.db"
DATETIME_FORMAT: str = "%Y-%m-%dT%H:%M:%SZ"
VETRO_PROJECTS: dict = {
"682c438ca9a5d61a4cc9a405": "Админка",
"682c7c1b537d26222fe3cde8": "Чаты Авито",
"682c7cc5a4e2fd3c34a5e933": "Звонки",
"682b2c2d537d26222fc5671c": "Регистрация гарантии",
"682b3cc4f01c6c02e4e765b0": "Клиент",
"682b2c1366a3b415535a23fa": "Контрагенты",
"682b2c3f24f321560e283cb2": "Урегулирование страховых случаев",
"682b2c52d7ce797b226fddef": "Почта",
"682c7cd766a3b4155378f8a4": "Товар",
"682c7d05d7ce797b228edd06": "Закупка",
"682b2bf324f321560e283084": "Страховые направления",
"682b2c09f01c6c02e4e49681": "Задачи направлений",
"682b2c1bd096503066890985": "Заказ",
"682b2c22b417733736a3ae9f": "Задачи заказов",
"682b3280560c2445c917951c": "Услуга клиенту",
"682b2c7324f321560e284588": "Потерянные трудочасы",
"682c7d0ed7ce797b228edf3a": "WhatsApp",
"682b2bada9a5d61a4cb1b6e1": "Прочие активности по Ветро",
}
def configure_argument_parser():
parser = argparse.ArgumentParser(description='Трекер трудочасов с Clockify в Redmine')
parser.add_argument(
'-s',
'--start',
help='Дата начала парсинга активностей в формате гггг-мм-дд'
)
parser.add_argument(
'-e',
'--end',
help='Дата окончания парсинга активностей в формате гггг-мм-дд'
)
parser.add_argument(
'-p',
'--page-size',
help='Количество задач для вывода'
)
return parser
arg_parser = configure_argument_parser()
config = Config()
db = Database(config.DB_NAME)