Refine tests, CLI
This commit is contained in:
129
README.md
129
README.md
@@ -1,48 +1,135 @@
|
||||
# FFX
|
||||
|
||||
FFX is a local CLI and Textual TUI for inspecting TV episode files, storing normalization rules in SQLite, and converting outputs into a predictable stream, metadata, and filename layout.
|
||||
|
||||
## Requirements
|
||||
|
||||
- Linux-like environment
|
||||
- `python3`
|
||||
- `ffmpeg`
|
||||
- `ffprobe`
|
||||
- `cpulimit`
|
||||
|
||||
## Installation
|
||||
|
||||
per https:
|
||||
FFX uses a two-step local setup flow.
|
||||
|
||||
### 1. Install The Bundle
|
||||
|
||||
This step creates or reuses the persistent bundle virtualenv in `~/.local/share/ffx.venv`, installs FFX into it, and ensures `ffx` is exposed through a shell alias.
|
||||
|
||||
```sh
|
||||
pip install https://<URL>/<Releaser>/ffx.git@<Branch>
|
||||
bash tools/setup.sh
|
||||
```
|
||||
|
||||
per git:
|
||||
If you also want the Python packages needed for the modern test suite:
|
||||
|
||||
```sh
|
||||
pip install git+ssh://<Username>@<URL>/<Releaser>/ffx.git@<Branch>
|
||||
bash tools/setup.sh --with-tests
|
||||
```
|
||||
|
||||
## Version history
|
||||
You can verify the bundle state without changing anything:
|
||||
|
||||
### 0.1.1
|
||||
```sh
|
||||
bash tools/setup.sh --check
|
||||
```
|
||||
|
||||
Bugfixes, TMBD identify shows
|
||||
### 2. Prepare System Dependencies And Local User Files
|
||||
|
||||
### 0.1.2
|
||||
This step installs or verifies workstation dependencies and seeds local config and data directories. It is the step wrapped by the CLI command `ffx configure_workstation`.
|
||||
|
||||
Bugfixes
|
||||
Run it directly:
|
||||
|
||||
### 0.1.3
|
||||
```sh
|
||||
bash tools/configure_workstation.sh
|
||||
```
|
||||
|
||||
Subtitle file imports
|
||||
Or through the installed CLI:
|
||||
|
||||
### 0.2.0
|
||||
```sh
|
||||
ffx configure_workstation
|
||||
```
|
||||
|
||||
Tests, Config-File
|
||||
Check-only mode is available in both forms:
|
||||
|
||||
### 0.2.1
|
||||
```sh
|
||||
bash tools/configure_workstation.sh --check
|
||||
ffx configure_workstation --check
|
||||
```
|
||||
|
||||
Signature, Tags cleaning, Bugfixes, Refactoring
|
||||
`tools/configure_workstation.sh` does not manage the bundle virtualenv. Python-side test packages belong to `tools/setup.sh --with-tests`.
|
||||
|
||||
### 0.2.2
|
||||
## Basic Usage
|
||||
|
||||
CLI-Overrides
|
||||
Examples:
|
||||
|
||||
```sh
|
||||
ffx version
|
||||
ffx inspect /path/to/episode.mkv
|
||||
ffx convert /path/to/episode.mkv
|
||||
ffx shows
|
||||
```
|
||||
|
||||
## Modern Tests
|
||||
|
||||
Install Python test packages first:
|
||||
|
||||
```sh
|
||||
bash tools/setup.sh --with-tests
|
||||
```
|
||||
|
||||
Then run the modern automatically discovered test suite:
|
||||
|
||||
```sh
|
||||
./tools/test.sh
|
||||
```
|
||||
|
||||
This runner uses `pytest` and intentionally excludes the legacy harness under `tests/legacy/`.
|
||||
|
||||
## Default Local Paths
|
||||
|
||||
- Config: `~/.local/etc/ffx.json`
|
||||
- Database: `~/.local/var/ffx/ffx.db`
|
||||
- Log file: `~/.local/var/log/ffx.log`
|
||||
- Bundle venv: `~/.local/share/ffx.venv`
|
||||
|
||||
## TMDB
|
||||
|
||||
TMDB-backed metadata enrichment requires `TMDB_API_KEY` to be set in the environment.
|
||||
|
||||
## Version History
|
||||
|
||||
### 0.2.3
|
||||
|
||||
PyPi packaging
|
||||
Templating output filename
|
||||
Season shiftung
|
||||
DB-Versionierung
|
||||
- PyPI packaging
|
||||
- output filename templating
|
||||
- season shifting
|
||||
- DB versioning
|
||||
|
||||
### 0.2.2
|
||||
|
||||
- CLI overrides
|
||||
|
||||
### 0.2.1
|
||||
|
||||
- signature handling
|
||||
- tag cleanup
|
||||
- bugfixes and refactoring
|
||||
|
||||
### 0.2.0
|
||||
|
||||
- tests
|
||||
- config file
|
||||
|
||||
### 0.1.3
|
||||
|
||||
- subtitle file imports
|
||||
|
||||
### 0.1.2
|
||||
|
||||
- bugfixes
|
||||
|
||||
### 0.1.1
|
||||
|
||||
- bugfixes
|
||||
- TMDB show identification
|
||||
|
||||
Reference in New Issue
Block a user