Art studio tz CLI
Project description
Art studio tz CLI
это консольное приложение для управления цитатами. Поддерживает локальную базу данных(quotes.csv) и работу с MySQL. решение ТЗ пункт(3, 4, 5)
- Репозиторий: https://github.com/nafanius/art_studio_tz
- Лицензия: MIT
Возможности
- Получение цитат из внешнего API с паузой по одной или блоками по 50 шт(
zenquotes.io). - Добавление, удаление, обновление цитат.
- Список цитат с фильтрацией по автору, по дате добаления в БД.
- Сохранение и управления цитатами в локальную БД(quotes.csv) или MySQL.
- Получение свежих цитат из БД MySQL.
- Работа через современный CLI-фреймворк Typer и форматирование таблиц с помощью Rich.
Установка
С PyPI (рекомендуется)
pip install art_studio_tz
Из GitHub
pip install git+https://github.com/nafanius/art_studio_tz.git
Из исходного кода
# Клонируем репозиторий
git clone https://github.com/nafanius/art_studio_tz.git
cd art_studio_tz
# Устанавливаем через pip
pip install .
# Или с помощью poetry (для разработки)
poetry install
Использование
После установки доступна команда art_studio_tz:
art_studio_tz --help
Основные команды CLI
start [-u URL] [-p Пауза]— Получать цитаты с API и сохранять в локальную БД(quotes.csv) с паузой между запросами (по умолчанию 5 с)list [-a Автор]— Показать список цитат (опционально с фильтрацией по автору)version— Показать версию приложенияadd "ТЕКСТ" -a "Автор"— Добавить цитату в локальную БДdelete <ID>— Удалить цитату по ID, либо всеupdate <ID> -t "Новый текст" -o "Новый автор"— Обновить цитату по IDconfig— Показать путь к локальной базе данныхcount— Показать количество цитат в локальной базе
Команды для работы с MySQL
-
get -u user -p password [-H host] [-P port] [-d db] [--url URL]— Получить 50 цитат из API и записать в MySQL(требуется сервер mySQL) -
list-latest-5 -u user -p pass ... [-n N]— Показать последние N цитат из MySQL (по умолчанию 5) --отробатывает через ORM аналогичено сырому запросу:SELECT id, text FROM quotes ORDER BY timestep DESC, id DESC LIMIT 5;
-
delete-all-sql -u user -p pass ...— Удалить все цитаты в MySQL -
list-sql -u user -p pass ... [-a Автор]— Показать список цитат из MySQLкаждая команда имеет отдельный --help пример:
art_studio_tz get --help
$ art_studio_tz get -u USER -p PASSWORD
Usage: art_studio_tz get [OPTIONS]
Get 50 quotes from url and add to mySQL
* --user -u TEXT Database user [required]
* --password -p TEXT Database password [required]
--host -H TEXT Database host, default localhost
--port -P INTEGER Database port, default 3306
--database -d TEXT Database name, default quotes_db
--url TEXT URL for get quotes, default https://zenquotes.io/api/random
--help Show this message and exit.
Требования
- Python >= 3.10
- Зависимости перечислены в pyproject.toml (SQLAlchemy, Typer, Rich и др.), requirement.txt
Струуктура
.
├── art_studio_tz
│ ├── **init**.py
│ ├── **main**.py
│ ├── api.py
│ ├── db.py
│ └── db_sql.py
├── LICENSE
├── pyproject.toml
├── quotes.csv
├── README.md
├── requirement.txt
├── tests
│ ├── test_api.py
│ ├── test_cli.py
│ ├── test_db.py
│ └── test_db_sql.py
└── ТЗ.pdf
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file art_studio_tz-0.1.0.tar.gz.
File metadata
- Download URL: art_studio_tz-0.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-84-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01787fd4467845d4ef8b0a4b24dd0108587ba271473f49d65212f388d9c3769e
|
|
| MD5 |
64abe7b02cfab062af976012d7f1aba8
|
|
| BLAKE2b-256 |
bb329567e925d0a6c89dea4ff3d3a24784f560b5712c70b271f90f02af4d84e1
|
File details
Details for the file art_studio_tz-0.1.0-py3-none-any.whl.
File metadata
- Download URL: art_studio_tz-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.8.0-84-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd3902d3c1ff832a13c7d8ac9930f4392e671fb40e4cf41b8a307c88e9c030ca
|
|
| MD5 |
921fe0098e4b05397352db6e17417cf6
|
|
| BLAKE2b-256 |
55c80b492b05c72bc93c1cc0a560225b2855d72de9157c30a161a4457f555202
|