riplex 0.5.3__tar.gz → 0.5.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {riplex-0.5.3/src/riplex.egg-info → riplex-0.5.4}/PKG-INFO +1 -1
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/manifest.py +2 -1
- {riplex-0.5.3 → riplex-0.5.4/src/riplex.egg-info}/PKG-INFO +1 -1
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/lookup.py +3 -1
- {riplex-0.5.3 → riplex-0.5.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.github/agents/riplex.agent.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.github/copilot-instructions.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.github/workflows/publish.yml +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.github/workflows/release.yml +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.gitignore +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/.vscode/settings.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/LICENSE +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/README.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/REFACTOR_PLAN.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/architecture.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/changelog.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/getting-started/configuration.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/getting-started/installation.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/guide/lookup.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/guide/orchestrate.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/guide/organize.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/guide/workflow.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/index.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/naming-rules.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/reference/cli.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/docs/troubleshooting.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/issues/cross-disc-dvdcompare-matching.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/issues/orchestrate-dvdcompare-fallback.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/issues/planned-features.md +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/mkdocs.yml +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/pyproject.toml +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/setup.cfg +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/cache.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/config.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/dedup.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/detect.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/disc/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/disc/analysis.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/disc/makemkv.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/disc/provider.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/formatter.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/lookup.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/matcher.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/metadata/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/metadata/planner.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/metadata/provider.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/metadata/sources/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/metadata/sources/tmdb.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/models.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/normalize.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/organizer.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/scanner.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/snapshot.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/splitter.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/tagger.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/title.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex/ui.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex.egg-info/SOURCES.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex.egg-info/dependency_links.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex.egg-info/entry_points.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex.egg-info/requires.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex.egg-info/top_level.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/main.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/disc_detection.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/disc_overview.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/disc_swap.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/done.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/folder_picker.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/metadata.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/orchestrate_done.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/organize_done.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/organize_preview.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/progress.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/release.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/selection.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/update.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/screens/welcome.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_app/updater.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/orchestrate.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/organize.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/rip.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/commands/setup.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/formatting.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/src/riplex_cli/main.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/__init__.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/fixtures/chernobyl_disc1.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/fixtures/makemkvcon_frozen_planet_ii_d2.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/fixtures/makemkvcon_list.txt +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/Batman Begins.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/Blade Runner (Blu-ray 4k).snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/Blade Runner The Final Cut.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/Seven Worlds One Planet.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/The Dark Knight Rises.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/The Dark Knight.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/snapshots/Waterworld.snapshot.json +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_cache.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_cli_utils.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_config.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_dedup.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_detect.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_disc_analysis.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_disc_fixtures.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_disc_provider.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_formatter.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_makemkv.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_matcher.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_normalize.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_organizer.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_planner.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_rip_guide.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_scanner.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_snapshot.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_splitter.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_tagger.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_ui.py +0 -0
- {riplex-0.5.3 → riplex-0.5.4}/tests/test_updater.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: riplex
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: Automates the tedious manual work around MakeMKV: figuring out what to rip, which MKV files are actually what, and organizing everything into Plex-compatible folder structures.
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -33,8 +33,9 @@ def build_rip_path(
|
|
|
33
33
|
is not configured.
|
|
34
34
|
"""
|
|
35
35
|
from riplex.config import get_output_root, get_rip_output
|
|
36
|
+
from riplex.normalize import sanitize_filename
|
|
36
37
|
|
|
37
|
-
folder_base = f"{canonical} ({year})"
|
|
38
|
+
folder_base = sanitize_filename(f"{canonical} ({year})")
|
|
38
39
|
rip_output = get_rip_output()
|
|
39
40
|
if rip_output:
|
|
40
41
|
rip_root = Path(rip_output) / folder_base
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: riplex
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.4
|
|
4
4
|
Summary: Automates the tedious manual work around MakeMKV: figuring out what to rip, which MKV files are actually what, and organizing everything into Plex-compatible folder structures.
|
|
5
5
|
License: MIT
|
|
6
6
|
Requires-Python: >=3.11
|
|
@@ -323,7 +323,9 @@ async def run_lookup(args: argparse.Namespace) -> int:
|
|
|
323
323
|
print("Error: --output or output_root config required for --create-folders.", file=sys.stderr)
|
|
324
324
|
return 1
|
|
325
325
|
rip_output = get_rip_output()
|
|
326
|
-
|
|
326
|
+
from riplex.normalize import sanitize_filename
|
|
327
|
+
folder_base = sanitize_filename(f"{canonical} ({year})")
|
|
328
|
+
makemkv_root = Path(rip_output) / folder_base if rip_output else Path(output_val) / "Rips" / folder_base
|
|
327
329
|
created = create_rip_folders(makemkv_root, discs)
|
|
328
330
|
if created:
|
|
329
331
|
print(f"\nCreated {len(created)} folder(s) under {makemkv_root}")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|