mkv-episode-matcher 0.1.5__py3-none-any.whl → 0.1.10__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.

@@ -1,12 +1,14 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.1
2
2
  Name: mkv-episode-matcher
3
- Version: 0.1.5
3
+ Version: 0.1.10
4
4
  Summary: The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
5
+ Home-page: https://github.com/Jsakkos/mkv-episode-matcher
6
+ Author: Jonathan Sakkos
7
+ Author-email: Jsakkos <jonathansakkos@protonmail.com>
8
+ License: MIT
5
9
  Project-URL: Documentation, https://github.com/Jsakkos/mkv-episode-matcher#readme
6
10
  Project-URL: Issues, https://github.com/Jsakkos/mkv-episode-matcher/issues
7
11
  Project-URL: Source, https://github.com/Jsakkos/mkv-episode-matcher
8
- Author-email: Jsakkos <jonathansakkos@protonmail.com>
9
- License-Expression: MIT
10
12
  Classifier: Development Status :: 4 - Beta
11
13
  Classifier: Programming Language :: Python
12
14
  Classifier: Programming Language :: Python :: 3.8
@@ -17,27 +19,34 @@ Classifier: Programming Language :: Python :: 3.12
17
19
  Classifier: Programming Language :: Python :: Implementation :: CPython
18
20
  Classifier: Programming Language :: Python :: Implementation :: PyPy
19
21
  Requires-Python: >=3.8
20
- Requires-Dist: configparser
22
+ Description-Content-Type: text/x-rst
23
+ Requires-Dist: requests
21
24
  Requires-Dist: loguru
22
- Requires-Dist: opensubtitlescom
23
25
  Requires-Dist: pillow
24
- Requires-Dist: pytesseract
25
- Requires-Dist: requests
26
+ Requires-Dist: configparser
26
27
  Requires-Dist: tmdb-client
27
- Description-Content-Type: text/markdown
28
+ Requires-Dist: pytesseract
29
+ Requires-Dist: opensubtitlescom
30
+
31
+ ===================
32
+ MKV Episode Matcher
33
+ ===================
28
34
 
29
- # MKV Episode Matcher
30
-
31
- The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
35
+ |docs| |pypi|
32
36
 
33
- ## Quick start
37
+ The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
38
+
39
+ Quick start
40
+ ===========
34
41
 
35
42
  To use the MKV Episode Matcher, follow these steps:
36
43
 
37
- 1. Clone this repository `git clone https://github.com/Jsakkos/mkv-episode-matcher`
38
- 1. Obtain an API key from TMDb (https://developers.themoviedb.org/authentication/getting-a-apikey).
39
- 2. (Optional) - Obtain an API key from Opensubtitles.com by creating an API consumer (https://www.opensubtitles.com/en/consumers)
40
- 3. Provide a filepath to your show directory. This is the main directory that contains all of the episodes for a specific show.
44
+ 1. Install ``pip install mkv-episode-matcher``
45
+ 2. Obtain an API key from TMDb (https://developers.themoviedb.org/authentication/getting-a-apikey).
46
+ 3. (Optional) - Obtain an API key from Opensubtitles.com by creating an API consumer (https://www.opensubtitles.com/en/consumers)
47
+ 4. Alternatively, add the .srt files to the cache directory. On Windows: ``C:\Users\YOUR_USER_NAME\.mkv-episode-matcher\cache\data\SHOW_NAME``. The files need to be named with the season and episode, e.g. ``Show Name - S01E01.srt``.
48
+ 5. Provide a filepath to your show directory. This is the main directory that contains all of the episodes for a specific show.
49
+
41
50
  The directory and subfolders must be arranged in the following structure:
42
51
 
43
52
  - Show name
@@ -45,33 +54,29 @@ The directory and subfolders must be arranged in the following structure:
45
54
  - Season 2
46
55
  - ...
47
56
  - Season n
48
- 2. Call `python __main__.py` with the TMDB_API_KEY and SHOW_DIR as arguments or in environment variables from your command line:
57
+
58
+ 6. Call ``mkv-match`` with the TMDB_API_KEY and SHOW_DIR as arguments or in environment variables from your command line:
49
59
 
50
- ```
51
- python __main__.py --api-key `your-api-key` --show-dir /path/to/show
52
- ```
60
+ .. code-block:: bash
53
61
 
54
- ## How it works
62
+ python mkv-match --tmdb-api-key your-api-key --show-dir /path/to/show
55
63
 
56
- MKV Episode Matcher extracts the subtitle text from each MKV file, then crossreferences the text against .srt subtitle files that are either user-provided or downloaded from Opensubtitles.com
64
+ Once TMDB_API_KEY is set, there's no need to enter it again, as it gets stored in the config.ini file.
57
65
 
66
+ To get subtitles from opensubtitles.com, ensure that the appropriate credentials have been set, either via the CLI or in config.ini (On Windows: ``C:\Users\YOUR_USER_NAME\.mkv-episode-matcher\config.ini``).
67
+ Then add the ``--get-subs True`` flag to the CLI call
58
68
 
59
- # Contributing
69
+ .. code-block:: bash
60
70
 
61
- Contributions are welcome! If you would like to contribute to the MKV Episode Matcher project, please follow these steps:
71
+ python mkv-match --show-dir /path/to/show --get-subs True
62
72
 
63
- 1. Fork the repository.
64
- 1. Clone the repository.
65
- 2. Create a new branch for your contribution.
66
- 3. Make your changes and commit them to your branch.
67
- 4. Push your branch to your forked repository.
68
- 5. Open a pull request to the main repository.
73
+ How it works
74
+ ============
69
75
 
70
- Please ensure that your code follows the project's coding conventions and standards. Additionally, provide a clear and detailed description of your changes in the pull request.
76
+ MKV Episode Matcher extracts the subtitle text from each MKV file, then cross-references the text against .srt subtitle files that are either user-provided or downloaded from Opensubtitles.com.
71
77
 
72
- Thank you for your contribution!
73
-
74
- # License
78
+ License
79
+ =======
75
80
 
76
81
  MIT License
77
82
 
@@ -95,6 +100,17 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95
100
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96
101
  SOFTWARE.
97
102
 
98
- # Acknowledgments
103
+ Acknowledgments
104
+ ===============
105
+
99
106
  This product uses the TMDB API but is not endorsed or certified by TMDB.
100
- ![The Movie DB Logo](https://www.themoviedb.org/assets/2/v4/logos/v2/blue_long_2-9665a76b1ae401a510ec1e0ca40ddcb3b0cfe45f1d51b77a308fea0845885648.svg)
107
+
108
+ .. image:: https://www.themoviedb.org/assets/2/v4/logos/v2/blue_long_2-9665a76b1ae401a510ec1e0ca40ddcb3b0cfe45f1d51b77a308fea0845885648.svg
109
+ :alt: The Movie Database
110
+ :target: https://www.themoviedb.org/
111
+
112
+ .. |docs| image:: https://readthedocs.org/projects/mkv-episode-matcher/badge/?version=latest
113
+ :target: https://mkv-episode-matcher.readthedocs.io/en/latest/?badge=latest
114
+ :alt: Documentation Status
115
+ .. |pypi| image:: https://badge.fury.io/py/mkv-episode-matcher.svg
116
+ :target: https://badge.fury.io/py/mkv-episode-matcher
@@ -0,0 +1,25 @@
1
+ mkv_episode_matcher/.gitattributes,sha256=Gh2-F2vCM7SZ01pX23UT8pQcmauXWfF3gwyRSb6ZAFs,66
2
+ mkv_episode_matcher/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
3
+ mkv_episode_matcher/__main__.py,sha256=qCd7iLsmg25JIoSd8Gos7w5c1iAlgyyXc3KyXKF0ThE,6809
4
+ mkv_episode_matcher/config.py,sha256=zDDKBcsDt5fME9BRqiTi7yWKeast1pZh36BNYMvIBYM,2419
5
+ mkv_episode_matcher/episode_matcher.py,sha256=UBT53tiC0xryl9k9XXoRUY1-08u5DH-NcwnmD-MSWG8,8914
6
+ mkv_episode_matcher/mkv_to_srt.py,sha256=m34nhgiBSBGpymePUt2C-EmGhcjoXnv3S0SLod-DkFo,6092
7
+ mkv_episode_matcher/requirements.txt,sha256=76Vnmjv4R08bmjbaAu8Kbl0ogyT7MBdVPprBegxc4Uk,76
8
+ mkv_episode_matcher/tmdb_client.py,sha256=LbMCgjmp7sCbrQo_CDlpcnryKPz5S7inE24YY9Pyjk4,4172
9
+ mkv_episode_matcher/utils.py,sha256=Jc0_sn_UG-n_sQ-oLQqMhFuU2QmNiU1iNb8sfd8ljEw,9439
10
+ mkv_episode_matcher/libraries/pgs2srt/.gitignore,sha256=mt3uxWYZaFurMw_yGE258gWhtGKPVR7e3Ll4ALJpyj4,23
11
+ mkv_episode_matcher/libraries/pgs2srt/README.md,sha256=olb25G17tj0kxPgp_LcH5I2QWXjgP1m8JFyjYRGz4UU,1374
12
+ mkv_episode_matcher/libraries/pgs2srt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ mkv_episode_matcher/libraries/pgs2srt/imagemaker.py,sha256=w5YMWU70TPf7bjbVUcXBIagBMR4mz0uXqHdjLO1GQlY,2733
14
+ mkv_episode_matcher/libraries/pgs2srt/pgs2srt.py,sha256=miKviiKRlN7h2tkbV-3twyjUzVnXWbWZPYEaLy-wKdo,4162
15
+ mkv_episode_matcher/libraries/pgs2srt/pgsreader.py,sha256=bFlaPYzUs9H9qZ5JEE53YmP08yma2c59aLQBNzAgz_c,6948
16
+ mkv_episode_matcher/libraries/pgs2srt/requirements.txt,sha256=sg87dqWw_qpbwciw-Mc5mRJnV9LaCni2cybnT5ANqnA,59
17
+ mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py,sha256=1ZXUENOTxK4u9dBNTwnjrd-GRE-WHf-yi2LBainSwRw,9869
18
+ mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py,sha256=KZgMDCLPSfnDbbC9myvg1znkjapO0iSp7z_mIxf2e5k,9742
19
+ mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py,sha256=GpbuAVy8IPX7KRqKUuhToJuUVqhASg_Phw_6j8KJN6g,676580
20
+ mkv_episode_matcher/notebooks/get_subtitles_test.ipynb,sha256=7dku1ttsUB96R_7RVhSKAlbMfuJsOxkXAtFgJUwVqqc,8031
21
+ mkv_episode_matcher-0.1.10.dist-info/METADATA,sha256=SfwjxX6B2QtVGOse5U3hP5J9Ski9QrjZ-RZVFJfMsYY,4965
22
+ mkv_episode_matcher-0.1.10.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
23
+ mkv_episode_matcher-0.1.10.dist-info/entry_points.txt,sha256=IglJ43SuCZq2eQ3shMFILCkmQASJHnDCI3ogohW2Hn4,64
24
+ mkv_episode_matcher-0.1.10.dist-info/top_level.txt,sha256=XRLbd93HUaedeWLtkyTvQjFcE5QcBRYa3V-CfHrq-OI,20
25
+ mkv_episode_matcher-0.1.10.dist-info/RECORD,,
@@ -1,4 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.24.2
2
+ Generator: setuptools (72.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ mkv_episode_matcher
@@ -1 +0,0 @@
1
- gitdir: ../../.git/modules/libraries/pgs2srt
@@ -1,24 +0,0 @@
1
- mkv_episode_matcher/.gitattributes,sha256=Gh2-F2vCM7SZ01pX23UT8pQcmauXWfF3gwyRSb6ZAFs,66
2
- mkv_episode_matcher/__init__.py,sha256=xLawNVQK5wa-DyEmz0-24t2gXaNwHIMeNPRnAbaLW3I,19
3
- mkv_episode_matcher/__main__.py,sha256=4UtBHc6peDqHmronr4DnRtE_23wHJvkfGpkChpfml-8,6771
4
- mkv_episode_matcher/config.py,sha256=zDDKBcsDt5fME9BRqiTi7yWKeast1pZh36BNYMvIBYM,2419
5
- mkv_episode_matcher/episode_matcher.py,sha256=UBT53tiC0xryl9k9XXoRUY1-08u5DH-NcwnmD-MSWG8,8914
6
- mkv_episode_matcher/mkv_to_srt.py,sha256=r7l4WD6XySuRusNKYStDsTHINj3lO_LoqncN39muek0,6266
7
- mkv_episode_matcher/requirements.txt,sha256=0JLuUm69lLp8anUgtW48CuULZ_lSwd-1XL3eoShVWjI,93
8
- mkv_episode_matcher/tmdb_client.py,sha256=LbMCgjmp7sCbrQo_CDlpcnryKPz5S7inE24YY9Pyjk4,4172
9
- mkv_episode_matcher/utils.py,sha256=UMygaE4ZUvV9BRyXxmgfd1g06-0pk1eGlM56NzfgjYM,9305
10
- mkv_episode_matcher/libraries/pgs2srt/.git,sha256=-NzRRkakNIcN-_2R531WlezRY3CRFyRUhM6YUeQjZko,45
11
- mkv_episode_matcher/libraries/pgs2srt/.gitignore,sha256=1QVFkpoo1FvhvZ_fs3W7nwO0CAxbY1-CHiQr4fmHaCc,25
12
- mkv_episode_matcher/libraries/pgs2srt/README.md,sha256=8uf4oJMIs_FmXZ7CE9U6mRgUFULR8hylbpeqfGd5PrI,1400
13
- mkv_episode_matcher/libraries/pgs2srt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
- mkv_episode_matcher/libraries/pgs2srt/imagemaker.py,sha256=TCzV8q4q-VSGW9weLF9wG4-1mzs7a_HCDsKkbzvNh-k,2820
15
- mkv_episode_matcher/libraries/pgs2srt/pgs2srt.py,sha256=hKpCx-w3G0XROBgVS4pqMWGSinnKf4Kd-TZjWpCFuk4,4283
16
- mkv_episode_matcher/libraries/pgs2srt/pgsreader.py,sha256=JhQ4ml0zquSBN6FxvyyDNDugSexKzhGkUwxunVHYm3A,7169
17
- mkv_episode_matcher/libraries/pgs2srt/requirements.txt,sha256=pfVCz2C3a0Fn98iRCZiWpY4uBFj3gwB1_r-xyAxX-rM,63
18
- mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/SubZero.py,sha256=-7ZiNeqrS7beaBKRvxnPqN6cjRttKmpu9EyEgIyk4wc,10164
19
- mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/post_processing.py,sha256=Zdcs6ESTOy49h19Brol__EhBvx2fBWj-6iKhuKoTwGM,9957
20
- mkv_episode_matcher/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py,sha256=n71bu8s0BXldXTFl1s0EpNHaGJfeanNagKYOLDASViQ,676829
21
- mkv_episode_matcher-0.1.5.dist-info/METADATA,sha256=1a2voX0pgRAlaQP0U0jEXtZRM4LY82Fb-Bqk7zPF-U4,4351
22
- mkv_episode_matcher-0.1.5.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
23
- mkv_episode_matcher-0.1.5.dist-info/entry_points.txt,sha256=IglJ43SuCZq2eQ3shMFILCkmQASJHnDCI3ogohW2Hn4,64
24
- mkv_episode_matcher-0.1.5.dist-info/RECORD,,