mkv-episode-matcher 0.3.6__py3-none-any.whl → 0.4.1__py3-none-any.whl
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.
Potentially problematic release.
This version of mkv-episode-matcher might be problematic. Click here for more details.
- mkv_episode_matcher/__init__.py +8 -0
- mkv_episode_matcher/__main__.py +19 -1
- mkv_episode_matcher/speech_to_text.py +7 -1
- {mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/METADATA +16 -6
- {mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/RECORD +8 -8
- {mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/WHEEL +0 -0
- {mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/entry_points.txt +0 -0
- {mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/top_level.txt +0 -0
mkv_episode_matcher/__init__.py
CHANGED
mkv_episode_matcher/__main__.py
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# __main__.py
|
|
2
2
|
import argparse
|
|
3
3
|
import os
|
|
4
|
+
import sys
|
|
4
5
|
|
|
5
6
|
from loguru import logger
|
|
6
|
-
|
|
7
|
+
from mkv_episode_matcher import __version__
|
|
7
8
|
from mkv_episode_matcher.config import get_config, set_config
|
|
8
9
|
|
|
9
10
|
# Log the start of the application
|
|
@@ -62,6 +63,12 @@ def main():
|
|
|
62
63
|
|
|
63
64
|
# Parse command-line arguments
|
|
64
65
|
parser = argparse.ArgumentParser(description="Process shows with TMDb API")
|
|
66
|
+
parser.add_argument(
|
|
67
|
+
"--version",
|
|
68
|
+
action="version",
|
|
69
|
+
version=f"%(prog)s {__version__}",
|
|
70
|
+
help="Show the version number and exit"
|
|
71
|
+
)
|
|
65
72
|
parser.add_argument("--tmdb-api-key", help="TMDb API key")
|
|
66
73
|
parser.add_argument("--show-dir", help="Main directory of the show")
|
|
67
74
|
parser.add_argument(
|
|
@@ -92,7 +99,18 @@ def main():
|
|
|
92
99
|
nargs="?",
|
|
93
100
|
help="Path to the tesseract executable (default: None)",
|
|
94
101
|
)
|
|
102
|
+
parser.add_argument(
|
|
103
|
+
"--check-gpu",
|
|
104
|
+
type=bool,
|
|
105
|
+
default=False,
|
|
106
|
+
nargs="?",
|
|
107
|
+
help="Check if GPU is available (default: False)",
|
|
108
|
+
)
|
|
95
109
|
args = parser.parse_args()
|
|
110
|
+
if args.check_gpu:
|
|
111
|
+
from mkv_episode_matcher.speech_to_text import check_gpu_support
|
|
112
|
+
check_gpu_support()
|
|
113
|
+
return
|
|
96
114
|
logger.debug(f"Command-line arguments: {args}")
|
|
97
115
|
open_subtitles_api_key = ""
|
|
98
116
|
open_subtitles_user_agent = ""
|
|
@@ -87,4 +87,10 @@ def extract_audio(mkv_file, output_dir):
|
|
|
87
87
|
else:
|
|
88
88
|
logger.info(f"Audio file {wav_file} already exists, skipping extraction")
|
|
89
89
|
|
|
90
|
-
return wav_file
|
|
90
|
+
return wav_file
|
|
91
|
+
def check_gpu_support():
|
|
92
|
+
logger.info('Checking GPU support...')
|
|
93
|
+
if torch.cuda.is_available():
|
|
94
|
+
logger.info(f"CUDA is available. Using GPU: {torch.cuda.get_device_name(0)}")
|
|
95
|
+
else:
|
|
96
|
+
logger.warning("CUDA not available. Using CPU. Refer to https://pytorch.org/get-started/locally/ for GPU support.")
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: mkv-episode-matcher
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.1
|
|
4
4
|
Summary: The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
|
|
5
5
|
Home-page: https://github.com/Jsakkos/mkv-episode-matcher
|
|
6
6
|
Author: Jonathan Sakkos
|
|
@@ -25,7 +25,18 @@ Requires-Dist: pytesseract>=0.3.13
|
|
|
25
25
|
Requires-Dist: rapidfuzz>=3.10.1
|
|
26
26
|
Requires-Dist: requests>=2.32.3
|
|
27
27
|
Requires-Dist: tmdb-client>=0.0.1
|
|
28
|
+
Requires-Dist: torch>=2.5.1
|
|
29
|
+
Requires-Dist: torchaudio>=2.5.1
|
|
30
|
+
Requires-Dist: torchvision>=0.20.1
|
|
28
31
|
Requires-Dist: wave>=0.0.2
|
|
32
|
+
Provides-Extra: cpu
|
|
33
|
+
Requires-Dist: torch>=2.5.1; extra == "cpu"
|
|
34
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cpu"
|
|
35
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cpu"
|
|
36
|
+
Provides-Extra: cu124
|
|
37
|
+
Requires-Dist: torch>=2.5.1; extra == "cu124"
|
|
38
|
+
Requires-Dist: torchvision>=0.20.1; extra == "cu124"
|
|
39
|
+
Requires-Dist: torchaudio>=2.5.1; extra == "cu124"
|
|
29
40
|
|
|
30
41
|
# MKV Episode Matcher
|
|
31
42
|
|
|
@@ -56,7 +67,7 @@ Automatically match and rename your MKV TV episodes using The Movie Database (TM
|
|
|
56
67
|
- Python 3.9 or higher
|
|
57
68
|
- [FFmpeg](https://ffmpeg.org/download.html) installed and available in system PATH
|
|
58
69
|
- [Tesseract OCR](https://github.com/UB-Mannheim/tesseract/wiki) installed (required for image-based subtitle processing)
|
|
59
|
-
- TMDb API key
|
|
70
|
+
- TMDb API key (optional, for subtitle downloads)
|
|
60
71
|
- OpenSubtitles account (optional, for subtitle downloads)
|
|
61
72
|
|
|
62
73
|
## Quick Start
|
|
@@ -72,10 +83,6 @@ pip install mkv-episode-matcher
|
|
|
72
83
|
mkv-match --show-dir "path/to/your/show"
|
|
73
84
|
```
|
|
74
85
|
|
|
75
|
-
## Documentation
|
|
76
|
-
|
|
77
|
-
Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
|
|
78
|
-
|
|
79
86
|
## Directory Structure
|
|
80
87
|
|
|
81
88
|
MKV Episode Matcher expects your TV shows to be organized as follows:
|
|
@@ -125,3 +132,6 @@ Distributed under the MIT License. See `LICENSE` for more information.
|
|
|
125
132
|
- [OpenSubtitles](https://www.opensubtitles.com/) for subtitle integration
|
|
126
133
|
- All contributors who have helped improve this project
|
|
127
134
|
|
|
135
|
+
## Documentation
|
|
136
|
+
|
|
137
|
+
Full documentation is available at [https://jsakkos.github.io/mkv-episode-matcher/](https://jsakkos.github.io/mkv-episode-matcher/)
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
mkv_episode_matcher/.gitattributes,sha256=Gh2-F2vCM7SZ01pX23UT8pQcmauXWfF3gwyRSb6ZAFs,66
|
|
2
|
-
mkv_episode_matcher/__init__.py,sha256=
|
|
3
|
-
mkv_episode_matcher/__main__.py,sha256=
|
|
2
|
+
mkv_episode_matcher/__init__.py,sha256=aNlpgTo1kHVrBcR3SH6wRmCgKu8KjNTki1ZvFfAud6s,240
|
|
3
|
+
mkv_episode_matcher/__main__.py,sha256=0ZwFXw30744lZ8HIMzUN4F2abpTRCT4glBCM9XQdD3k,7328
|
|
4
4
|
mkv_episode_matcher/config.py,sha256=zDDKBcsDt5fME9BRqiTi7yWKeast1pZh36BNYMvIBYM,2419
|
|
5
5
|
mkv_episode_matcher/episode_identification.py,sha256=_6M1UJkq1RGfmLI32u9dNOVvgp5Vf2MjqW2MTx0Gl8E,10329
|
|
6
6
|
mkv_episode_matcher/episode_matcher.py,sha256=vunYpHQxyXo3l88BUScXa7_kMYMCV1pXpQxaLa-plZA,4325
|
|
7
7
|
mkv_episode_matcher/mkv_to_srt.py,sha256=4yxBHRVhgVby0UtQ2aTXGuoQpid8pkgjMIaHU6GCdzc,10857
|
|
8
|
-
mkv_episode_matcher/speech_to_text.py,sha256
|
|
8
|
+
mkv_episode_matcher/speech_to_text.py,sha256=wVDrFFR7oASGMyq5cfOWmInEIeU9b3MPCLs9EyJrOMw,3128
|
|
9
9
|
mkv_episode_matcher/subtitle_utils.py,sha256=rYSbd393pKYQW0w4sXgals02WFGqMYYYkQHDbEkWF8c,2666
|
|
10
10
|
mkv_episode_matcher/tmdb_client.py,sha256=LbMCgjmp7sCbrQo_CDlpcnryKPz5S7inE24YY9Pyjk4,4172
|
|
11
11
|
mkv_episode_matcher/utils.py,sha256=VASbougN3rb2iu40iZWkGjKIbahW713TOrFBo_TR9wo,14269
|
|
@@ -19,8 +19,8 @@ mkv_episode_matcher/libraries/pgs2srt/requirements.txt,sha256=sg87dqWw_qpbwciw-M
|
|
|
19
19
|
mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py,sha256=geT1LXdVd8yED9zoJ9K1XfP2JzGcM7u1SslHYrJI09o,10061
|
|
20
20
|
mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py,sha256=GKtVy_Lxv-z27mkRG8pJF2znKWXwZTot7jL6kN-zIxM,10503
|
|
21
21
|
mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py,sha256=AlJHUYXl85J95OzGRik-AHVfzDd7Q8BJCvD4Nr8kRIk,938598
|
|
22
|
-
mkv_episode_matcher-0.
|
|
23
|
-
mkv_episode_matcher-0.
|
|
24
|
-
mkv_episode_matcher-0.
|
|
25
|
-
mkv_episode_matcher-0.
|
|
26
|
-
mkv_episode_matcher-0.
|
|
22
|
+
mkv_episode_matcher-0.4.1.dist-info/METADATA,sha256=IWKnIxGcG_W1EEtPfYasyMCfyZL7-NL_ScYfNl0HVlg,5579
|
|
23
|
+
mkv_episode_matcher-0.4.1.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
24
|
+
mkv_episode_matcher-0.4.1.dist-info/entry_points.txt,sha256=IglJ43SuCZq2eQ3shMFILCkmQASJHnDCI3ogohW2Hn4,64
|
|
25
|
+
mkv_episode_matcher-0.4.1.dist-info/top_level.txt,sha256=XRLbd93HUaedeWLtkyTvQjFcE5QcBRYa3V-CfHrq-OI,20
|
|
26
|
+
mkv_episode_matcher-0.4.1.dist-info/RECORD,,
|
|
File without changes
|
{mkv_episode_matcher-0.3.6.dist-info → mkv_episode_matcher-0.4.1.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|