From 0778cc23ae28b18da4a33d53e34102faafeeedba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AD=D0=B4=D1=83=D0=B0=D1=80=D0=B4?= Date: Mon, 6 Jul 2026 16:23:47 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BD=D1=83=D1=8E=20=D1=83=D1=81?= =?UTF-8?q?=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D1=83=20=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BD=D1=81=D0=BE=D0=BB=D1=8C=D0=BD=D1=83=D1=8E=20=D0=BA?= =?UTF-8?q?=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=83=20=D0=B7=D0=B0=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 23 ++++++++++++++++------- main.py | 1 + pyproject.toml | 27 +++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 pyproject.toml diff --git a/README.MD b/README.MD index c412fed..9e6c164 100644 --- a/README.MD +++ b/README.MD @@ -51,6 +51,10 @@ python -m pip install --upgrade pip ```bash pip install -r requirements.txt ``` +И установите локальную команду запуска: +```bash +pip install -e . +``` Создайте файл .env и добавьте в него переменные: ```bash nano .env @@ -82,17 +86,22 @@ activeWorkspace - это `WORKSPACE_ID` ## Запуск. ``` -python main.py +redmine-tracker ``` ## Аргументы запуска | Аргумент | Описание | Пример использования | |-------------------|----------------------------------------------------------------------------------------------|--------------------------------------| -| `-h [--help]` | Показать справку | `python main.py --help` | -| `-s [--start]` | Дата начала парсинга активностей в формате гггг-мм-дд | `python main.py --start 2025-05-19` | -| `-e [--end]` | Дата окончания парсинга активностей в формате гггг-мм-дд | `python main.py -e 2025-05-19` | -| `-p [--page-size]`| Количество задач для вывода. Выведет последние n записей | `python main.py --page-size 15` | -| `-d [--debug]` | Режим отладки. Не загружает трудочасы в Redmine | `python main.py -d` | -| `-i [--init-db]` | Режим инициализации бд.
Подгружает с серверов теги, виды деятельности и Проекты (ДО) Ветро| `python main.py -init-db` | +| `-h [--help]` | Показать справку | `redmine-tracker --help` | +| `-s [--start]` | Дата начала парсинга активностей в формате гггг-мм-дд | `redmine-tracker --start 2025-05-19` | +| `-e [--end]` | Дата окончания парсинга активностей в формате гггг-мм-дд | `redmine-tracker -e 2025-05-19` | +| `-p [--page-size]`| Количество задач для вывода. Выведет последние n записей | `redmine-tracker --page-size 15` | +| `-d [--debug]` | Режим отладки. Не загружает трудочасы в Redmine | `redmine-tracker -d` | +| `-i [--init-db]` | Режим инициализации бд.
Подгружает с серверов теги, виды деятельности и Проекты (ДО) Ветро| `redmine-tracker -init-db` | + +Также можно запускать напрямую из корня проекта: +```bash +python main.py +``` [Власов Эдуард](https://github.com/QuickLike) diff --git a/main.py b/main.py index 804fb8d..da1320a 100644 --- a/main.py +++ b/main.py @@ -20,6 +20,7 @@ from utils import check_envs, db_update, get_start_end_dates # noqa: E402 def main(): + """Запускает CLI-сценарий переноса трудочасов из Clockify в Redmine.""" args = arg_parser.parse_args() if is_debug := args.debug: diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..1804324 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,27 @@ +[build-system] +requires = ["setuptools>=69"] +build-backend = "setuptools.build_meta" + +[project] +name = "redmine-tracker" +version = "0.1.0" +description = "CLI для переноса трудочасов из Clockify в Redmine" +readme = "README.MD" +requires-python = ">=3.12" +dependencies = [ + "colorama==0.4.6", + "pydantic==2.11.4", + "pydantic-settings==2.9.1", + "python-dotenv==1.1.0", + "requests==2.32.3", + "tqdm==4.67.1", +] + +[project.scripts] +redmine-tracker = "main:main" + +[tool.setuptools] +py-modules = ["main", "track", "utils", "enums", "exceptions"] + +[tool.setuptools.packages.find] +include = ["api", "classes", "config", "db", "services"]