Skip to content
This repository was archived by the owner on Jul 14, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
7d28a61
chore(CHANGELOG): Обновлен конфиг cliff
intervisionlord Oct 27, 2025
d5fcd98
chore: Обновлен gitignore
intervisionlord Oct 27, 2025
e11c068
docs(CHANGELOG): Обновлен changelog по новому формату
intervisionlord Oct 27, 2025
4af2d1a
Создан pylint.yml для workflow github
intervisionlord Oct 27, 2025
cfa108d
build(requirements): Понижение версии pydantic для совместимости с CI…
intervisionlord Oct 27, 2025
76af99d
Merge pull request #20 from intervisionlord/dev
intervisionlord Oct 27, 2025
3e8a4d5
build(requirements): Понижение pydantic до 2.11.4
intervisionlord Oct 27, 2025
028ed92
Merge pull request #19 from intervisionlord/chore-workflow-pylint
intervisionlord Oct 27, 2025
18d5c55
docs(README): Обновление readme
intervisionlord Oct 27, 2025
4779d5c
feat(NC): Интеграция с nextcloud
intervisionlord Oct 27, 2025
a8ccca6
build(requirements): Добавлен httpx
intervisionlord Oct 27, 2025
8cd4c96
Merge pull request #21 from intervisionlord/feature/nc_auth
intervisionlord Oct 27, 2025
902dcf4
chore(maintenance): В обвязку добавлена очистка локальных веток
intervisionlord Oct 27, 2025
453d3dc
chore(maintenance): Добавлен pre-commit
intervisionlord Oct 27, 2025
9a5afd7
docs(Bot): Докстринги и аннотации
intervisionlord Oct 27, 2025
e229481
feat(NC): Вынесение отправки запросов в отдельный хендлер
intervisionlord Oct 27, 2025
194c504
refactor(Bot): Логика запросов через отдельный хендлер
intervisionlord Oct 28, 2025
78ae945
refactor(NC): Сокращен обработчик получения досок (вынесена логика за…
intervisionlord Oct 28, 2025
e952603
docs(README): Обновлен readme
intervisionlord Oct 28, 2025
0416a96
docs(CHANGELOG): Обновлен changelog
intervisionlord Oct 28, 2025
775f07d
fix(settings): Актуализирована версия
intervisionlord Oct 28, 2025
7ce0c89
docs(README): Обновлен readme
Oct 28, 2025
235d418
feat(NC): Добавлено получение стеков из доски
Oct 28, 2025
c8f076d
feat(NC): Добавлена модель для стека
Oct 28, 2025
b493998
feat(Bot): Добавлен обработчик команды выбора получения стеков по опр…
Oct 28, 2025
42968c3
fix(NC): Исправление endpoint для досок и стеков
intervisionlord Oct 28, 2025
7a8341b
refactor(Bot): Рефкторинг роутов команд бота
intervisionlord Oct 28, 2025
88703c9
docs(README): Обновлен readme
intervisionlord Oct 28, 2025
6157912
chore(maintenance): Обновлен project-tree
intervisionlord Oct 28, 2025
17e410e
docs(CHANGELOG): Обновлен changelog
intervisionlord Oct 28, 2025
fd48397
docs(linter): Докстринги и исправления ошибок линтера
intervisionlord Oct 28, 2025
e3d04c3
Merge pull request #22 from intervisionlord/feature/deck_show_cards
intervisionlord Oct 28, 2025
747964b
docs(APP): Докстринги для оставшихся файлов
intervisionlord Oct 29, 2025
720bca0
docs(APP): Исправление докстрингов
intervisionlord Oct 29, 2025
c034cb4
docs(maintenance): Дописывание докстрингов в служебном скрипте
intervisionlord Oct 29, 2025
7d7982b
feat(Bot): Пересмотр логики. Выборка только из указанного стека
intervisionlord Oct 29, 2025
ec02e2a
refactor(Bot): Глобальное изменение логики
intervisionlord Oct 29, 2025
f0e07e7
refactor(Bot): Глобальный рефакторинг (итерация 1)
intervisionlord Oct 30, 2025
b48cd77
fix(Bot): Работа с несколькими карточками
intervisionlord Nov 23, 2025
e2c1090
Merge pull request #23 from intervisionlord/feature/deck_show_cards
intervisionlord Nov 23, 2025
e4d3730
refactor(Bot): Замена if .. else на match .. case
intervisionlord Nov 23, 2025
5ecce9b
style(Bot): Полировка кода
intervisionlord Nov 23, 2025
cad5b3f
Merge pull request #24 from intervisionlord/refactor/code_polish
intervisionlord Nov 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,14 @@ LOG_LEVEL="INFO"
WEBHOOK_HOST="https://yourdomain.com"

SSL_ENABLED=True
SSL_KEY_PATH=''
SSL_CERT_PATH=''
SSL_KEY_PATH=""
SSL_CERT_PATH=""

# Параметры для Nextcloud Deck
NC_URL="https://yourdomain"
NC_LOGIN=""
NC_PASSWORD=""

# ID доски и стека для списка покупок
DECK_BOARD_ID=1
DECK_STACK_ID=1
23 changes: 23 additions & 0 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Pylint

on: [push]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt pylint
- name: Analysing the code with pylint
run: |
pylint $(git ls-files '*.py')
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ __pycache__/

.vscode/
.ssl/
.env
.env
cliff.toml.example
22 changes: 22 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: trailing-whitespace # удаляет пробелы в конце строк
- id: end-of-file-fixer # добавляет пустую строку в конец файла
- id: check-yaml # проверяет синтаксис YAML
- id: check-added-large-files # проверяет большие файлы
- id: check-merge-conflict # проверяет конфликтные маркеры

- repo: https://github.com/psf/black
rev: 23.3.0
hooks:
- id: black
# форматирует Python код

# - repo: https://github.com/pycqa/isort
# rev: 5.12.0
# hooks:
# - id: isort
# # сортирует импорты в Python
10 changes: 10 additions & 0 deletions .scripts/clean_local_branches.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
@echo off
git fetch -p
echo Branches to delete:
git branch -vv | findstr ": gone]"
set /p confirm="Delete these branches? (y/n): "
if /i "%confirm%"=="y" (
for /f "tokens=1" %%i in ('git branch -vv ^| findstr ": gone]"') do git branch -D %%i
echo Cleanup completed!
)
pause
46 changes: 42 additions & 4 deletions .scripts/project_tree.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
"""Отрисовка файловой структуры проекта"""

import argparse
from pathlib import Path


def print_tree(directory: Path, ignore_dirs: list[str] = None, prefix: str = ""):
"""
Рекурсивно выводит древовидную структуру папок и файлов, игнорируя указанные директории.
Рекурсивно выводит древовидную структуру папок и файлов,
игнорируя указанные директории.

:param directory: Директория для отображения
:param ignore_dirs: Список директорий для игнорирования
:param prefix: Префикс для отступов
:return: Генератор строк с древовидной структурой
"""
ignore_dirs = [] if ignore_dirs is None else ignore_dirs

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

лучше используй
ignore_dirs = ignore_dirs or []

space = " "
Expand All @@ -30,9 +37,40 @@ def print_tree(directory: Path, ignore_dirs: list[str] = None, prefix: str = "")
yield from print_tree(path, ignore_dirs, prefix=prefix + extension)


if __name__ == "__main__":
ignore_list = ["__pycache__", ".venv", ".git"]
path_to_display = Path(".")
def main() -> None:
"""
Основная функция запуска отрисовки дерева файлов
"""
parser = argparse.ArgumentParser(
description="Отображение древовидной структуры проекта"
)
parser.add_argument(
"directory",
nargs="?",
default=".",
help="Директория для отображения (по умолчанию: текущая)",
)
parser.add_argument(
"-i",
"--ignore",
nargs="+",
default=["__pycache__", ".venv", ".git"],
help="Директории для игнорирования (через пробел)",
)

args = parser.parse_args()

path_to_display = Path(args.directory)
ignore_list = args.ignore

print(f"Структура: {path_to_display.absolute()}")
print(f"Игнорируемые директории: {', '.join(ignore_list)}")
print()

print(path_to_display.name)
for line in print_tree(path_to_display, ignore_dirs=ignore_list):
print(line)


if __name__ == "__main__":
main()
170 changes: 156 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,163 @@
## [Изменения не вошедшие в версию]

### 📚 Документация

- Обновление документации


### ⚙️ Прочие задачи

- *(maintenance)* Обновлен project-tree

## [0.0.3.0]
- 📅 2025-10-28
- 🔃 (+9 коммитов)

### 🚀 Функционал

- *(NC)* Добавлено получение стеков из доски
#12

- *(NC)* Добавлена модель для стека
#12

- *(Bot)* Добавлен обработчик команды выбора получения стеков по определенной доске
#12


### 🐛 Исправления

- *(settings)* Актуализирована версия

- *(NC)* Исправление endpoint для досок и стеков


### 🚜 Рефакторинг

- *(Bot)* Рефкторинг роутов команд бота
- Разделение логики обработки команд
- Подключение роутов в единый основной роут
- Добавление модели стека
- Отключен Isort на стороне pre-commit

#12


### 📚 Документация

- Обновление документации

- Обновление changelog

## [0.0.2.2]
- 📅 2025-10-28
- 🔃 (+7 коммитов)

### 🚀 Функционал

- *(NC)* Вынесение отправки запросов в отдельный хендлер
#12


### 💼 Разное

- *(requirements)* Добавлен httpx


### 🚜 Рефакторинг

- *(Bot)* Логика запросов через отдельный хендлер
- Запросы через handler_requests
- Улучшено ответное сообщение со списком
- Добавлены докстринги

- *(NC)* Сокращен обработчик получения досок (вынесена логика запросов)
#12


### 📚 Документация

- *(Bot)* Докстринги и аннотации
- Докстринги в хендлере
- Докстринги в логировании

#15


### ⚙️ Прочие задачи

- *(maintenance)* В обвязку добавлена очистка локальных веток

- *(maintenance)* Добавлен pre-commit

## [0.0.2.0]
- 📅 2025-10-27
- 🔃 (+9 коммитов)

### 🚀 Функционал

- *(NC)* Интеграция с nextcloud
- Хендлер получения данных по доскам
- Модель деки
- Роут для командыд получения деки
- Обновлены настройки (подключение к NextCloud)
- Обновлен .env.example


### 💼 Разное

- *(requirements)* Добавлен requirements

- Создан pylint.yml для workflow github

- *(requirements)* Понижение версии pydantic для совместимости с CI wirkflow

- *(requirements)* Понижение pydantic до 2.11.4


### 📚 Документация

- Обновление changelog

- Обновление документации


### ⚙️ Прочие задачи

- *(CHANGELOG)* Обновлен конфиг cliff

- Обновлен gitignore

## [0.0.1.3]
- 📅 2025-10-26
- 🔃 (+2 коммитов)

### 📚 Документация

- Обновление changelog


### ⚙️ Прочие задачи

- *(CHANGELOG)* Обновлен конфиг cliff

## [0.0.1.2]
- 📅 2025-10-26
- 🔃 (+3 коммитов)

### 📚 Документация

- Обновление changelog ( 6d84a41afb4b19c2e9863a5a4502ef9757f1a9c5 )
- Обновление changelog

- Обновление документации ( c941a590e668671f80e31a3d837df185874683bd )
- Обновление документации

## [0.0.1.1]
- 📅 2025-10-26
- 🔃 (+7 коммитов)

### 🚀 Функционал

- *(APP)* Минимальный каркас ( 4b5afda50af0de41d445ae1c24f9e03266a38d15 )
- *(APP)* Минимальный каркас
- config: Управление параметрами приложения и бота
- Базовый хендлер бота
- Хендлер логирования
Expand All @@ -27,41 +170,40 @@

### 🚜 Рефакторинг

- *(APP)* Вынесение инициализации приложения с импортом роутов в фабрику ( c13fe607679e6228d3d0c8a2ddbf55bbcd3c1bbc )
- *(APP)* Вынесение инициализации приложения с импортом роутов в фабрику

- *(server)* Перевод на lifespan ( 8aa81ac124fcb0e16b4db0200945435cc13a652b )
- *(server)* Перевод на lifespan

- *(server)* Причесывание кода ( e07c266e81df57b178807d1a057d2423a8a580cb )
- *(server)* Причесывание кода

- *(APP)* Вынесение версии ( 27ee81ffe49b5f3423c4e05445b1fa85823fcde1 )
- *(APP)* Вынесение версии


### 📚 Документация

- Обновление документации ( 4ca9a66dc1f095d809dbdb22fe46fb54ef7cf10c )
- Обновление документации


### ⚙️ Прочие задачи

- *(cliff)* Правка конфига cliff ( 14ac0fdef14b7f3ea158b1bdd109517a124eb8a1 )
- *(cliff)* Правка конфига cliff

## [0.0.0.1]
- 📅 2025-10-26
- 🔃 (+3 коммитов)

### ⚙️ Прочие задачи

- *(github)* Добавлены issue templates ( b90b209b271904f90aea4f39b3a423af60213b14 )
- *(github)* Добавлены issue templates

- *(license)* Добавление лицензии ( 7ec9d3b0152322fe0d0261c0c23018638ee95773 )
- *(license)* Добавление лицензии

- *(maintenance)* Обвязка проекта и пост-инициализация ( 749ba0f479206e16013ee2273d1ce57d9cce6c5d )
- *(maintenance)* Обвязка проекта и пост-инициализация

## [0.0.0.0]
- 📅 2025-10-26
- 🔃 (+1 коммитов)

### 💼 Разное

- Initial commit ( 305f9b909a89b614f502e58949b327816a649afb )

- Initial commit
Loading
Loading