mkv-episode-matcher 0.1.0__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.

Potentially problematic release.


This version of mkv-episode-matcher might be problematic. Click here for more details.

Files changed (132) hide show
  1. mkv_episode_matcher-0.1.0/.coverage.DESKTOP-NTJ52LL.19040.XkHNEbEx +0 -0
  2. mkv_episode_matcher-0.1.0/.coverage.DESKTOP-NTJ52LL.24340.XjsBEKWx +0 -0
  3. mkv_episode_matcher-0.1.0/.gitattributes +2 -0
  4. mkv_episode_matcher-0.1.0/.gitignore +5 -0
  5. mkv_episode_matcher-0.1.0/.gitmodules +3 -0
  6. mkv_episode_matcher-0.1.0/.vscode/settings.json +11 -0
  7. mkv_episode_matcher-0.1.0/PKG-INFO +100 -0
  8. mkv_episode_matcher-0.1.0/README.md +72 -0
  9. mkv_episode_matcher-0.1.0/docs/Makefile +20 -0
  10. mkv_episode_matcher-0.1.0/docs/_build/doctrees/environment.pickle +0 -0
  11. mkv_episode_matcher-0.1.0/docs/_build/doctrees/index.doctree +0 -0
  12. mkv_episode_matcher-0.1.0/docs/_build/doctrees/mkv_episode_matcher.doctree +0 -0
  13. mkv_episode_matcher-0.1.0/docs/_build/doctrees/modules.doctree +0 -0
  14. mkv_episode_matcher-0.1.0/docs/_build/html/.buildinfo +4 -0
  15. mkv_episode_matcher-0.1.0/docs/_build/html/.nojekyll +0 -0
  16. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/index.html +205 -0
  17. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/mkv_episode_matcher/config.html +278 -0
  18. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/mkv_episode_matcher/episode_matcher.html +434 -0
  19. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/mkv_episode_matcher/mkv_to_srt.html +377 -0
  20. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/mkv_episode_matcher/tmdb_client.html +331 -0
  21. mkv_episode_matcher-0.1.0/docs/_build/html/_modules/mkv_episode_matcher/utils.html +425 -0
  22. mkv_episode_matcher-0.1.0/docs/_build/html/_sources/index.rst.txt +15 -0
  23. mkv_episode_matcher-0.1.0/docs/_build/html/_sources/mkv_episode_matcher.rst.txt +53 -0
  24. mkv_episode_matcher-0.1.0/docs/_build/html/_sources/modules.rst.txt +7 -0
  25. mkv_episode_matcher-0.1.0/docs/_build/html/_static/basic.css +904 -0
  26. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/badge_only.css +1 -0
  27. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  28. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  29. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  30. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  31. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  32. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
  33. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  34. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  35. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  36. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  37. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  38. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  39. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  40. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  41. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  42. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  43. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  44. mkv_episode_matcher-0.1.0/docs/_build/html/_static/css/theme.css +4 -0
  45. mkv_episode_matcher-0.1.0/docs/_build/html/_static/doctools.js +321 -0
  46. mkv_episode_matcher-0.1.0/docs/_build/html/_static/documentation_options.js +12 -0
  47. mkv_episode_matcher-0.1.0/docs/_build/html/_static/file.png +0 -0
  48. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Inconsolata-Bold.ttf +0 -0
  49. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Inconsolata-Regular.ttf +0 -0
  50. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Inconsolata.ttf +0 -0
  51. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  52. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  53. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  54. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  55. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  56. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  57. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  58. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  59. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  60. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  61. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  62. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  63. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  64. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  65. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  66. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  67. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato-Bold.ttf +0 -0
  68. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/Lato-Regular.ttf +0 -0
  69. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  70. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  71. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  72. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  73. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  74. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  75. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  76. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  77. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab-Bold.ttf +0 -0
  78. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/RobotoSlab-Regular.ttf +0 -0
  79. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/fontawesome-webfont.eot +0 -0
  80. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/fontawesome-webfont.svg +2671 -0
  81. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/fontawesome-webfont.ttf +0 -0
  82. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/fontawesome-webfont.woff +0 -0
  83. mkv_episode_matcher-0.1.0/docs/_build/html/_static/fonts/fontawesome-webfont.woff2 +0 -0
  84. mkv_episode_matcher-0.1.0/docs/_build/html/_static/jquery-3.5.1.js +10872 -0
  85. mkv_episode_matcher-0.1.0/docs/_build/html/_static/jquery.js +2 -0
  86. mkv_episode_matcher-0.1.0/docs/_build/html/_static/js/badge_only.js +1 -0
  87. mkv_episode_matcher-0.1.0/docs/_build/html/_static/js/html5shiv-printshiv.min.js +4 -0
  88. mkv_episode_matcher-0.1.0/docs/_build/html/_static/js/html5shiv.min.js +4 -0
  89. mkv_episode_matcher-0.1.0/docs/_build/html/_static/js/modernizr.min.js +4 -0
  90. mkv_episode_matcher-0.1.0/docs/_build/html/_static/js/theme.js +1 -0
  91. mkv_episode_matcher-0.1.0/docs/_build/html/_static/language_data.js +297 -0
  92. mkv_episode_matcher-0.1.0/docs/_build/html/_static/minus.png +0 -0
  93. mkv_episode_matcher-0.1.0/docs/_build/html/_static/plus.png +0 -0
  94. mkv_episode_matcher-0.1.0/docs/_build/html/_static/pygments.css +75 -0
  95. mkv_episode_matcher-0.1.0/docs/_build/html/_static/searchtools.js +522 -0
  96. mkv_episode_matcher-0.1.0/docs/_build/html/_static/underscore-1.13.1.js +2042 -0
  97. mkv_episode_matcher-0.1.0/docs/_build/html/_static/underscore.js +6 -0
  98. mkv_episode_matcher-0.1.0/docs/_build/html/genindex.html +405 -0
  99. mkv_episode_matcher-0.1.0/docs/_build/html/index.html +234 -0
  100. mkv_episode_matcher-0.1.0/docs/_build/html/mkv_episode_matcher.html +705 -0
  101. mkv_episode_matcher-0.1.0/docs/_build/html/modules.html +221 -0
  102. mkv_episode_matcher-0.1.0/docs/_build/html/objects.inv +0 -0
  103. mkv_episode_matcher-0.1.0/docs/_build/html/py-modindex.html +245 -0
  104. mkv_episode_matcher-0.1.0/docs/_build/html/search.html +220 -0
  105. mkv_episode_matcher-0.1.0/docs/_build/html/searchindex.js +1 -0
  106. mkv_episode_matcher-0.1.0/docs/conf.py +54 -0
  107. mkv_episode_matcher-0.1.0/docs/index.rst +15 -0
  108. mkv_episode_matcher-0.1.0/docs/make.bat +35 -0
  109. mkv_episode_matcher-0.1.0/docs/mkv_episode_matcher.rst +53 -0
  110. mkv_episode_matcher-0.1.0/docs/modules.rst +7 -0
  111. mkv_episode_matcher-0.1.0/libraries/pgs2srt/.git +1 -0
  112. mkv_episode_matcher-0.1.0/libraries/pgs2srt/.gitignore +2 -0
  113. mkv_episode_matcher-0.1.0/libraries/pgs2srt/Libraries/SubZero/SubZero.py +295 -0
  114. mkv_episode_matcher-0.1.0/libraries/pgs2srt/Libraries/SubZero/dictionaries/data.py +249 -0
  115. mkv_episode_matcher-0.1.0/libraries/pgs2srt/Libraries/SubZero/post_processing.py +215 -0
  116. mkv_episode_matcher-0.1.0/libraries/pgs2srt/README.md +26 -0
  117. mkv_episode_matcher-0.1.0/libraries/pgs2srt/__init__.py +0 -0
  118. mkv_episode_matcher-0.1.0/libraries/pgs2srt/imagemaker.py +87 -0
  119. mkv_episode_matcher-0.1.0/libraries/pgs2srt/pgs2srt.py +121 -0
  120. mkv_episode_matcher-0.1.0/libraries/pgs2srt/pgsreader.py +221 -0
  121. mkv_episode_matcher-0.1.0/libraries/pgs2srt/requirements.txt +4 -0
  122. mkv_episode_matcher-0.1.0/mkv_episode_matcher/.gitattributes +2 -0
  123. mkv_episode_matcher-0.1.0/mkv_episode_matcher/__init__.py +1 -0
  124. mkv_episode_matcher-0.1.0/mkv_episode_matcher/__main__.py +179 -0
  125. mkv_episode_matcher-0.1.0/mkv_episode_matcher/config.py +82 -0
  126. mkv_episode_matcher-0.1.0/mkv_episode_matcher/episode_matcher.py +237 -0
  127. mkv_episode_matcher-0.1.0/mkv_episode_matcher/mkv_to_srt.py +179 -0
  128. mkv_episode_matcher-0.1.0/mkv_episode_matcher/requirements.txt +8 -0
  129. mkv_episode_matcher-0.1.0/mkv_episode_matcher/tmdb_client.py +134 -0
  130. mkv_episode_matcher-0.1.0/mkv_episode_matcher/utils.py +228 -0
  131. mkv_episode_matcher-0.1.0/pyproject.toml +109 -0
  132. mkv_episode_matcher-0.1.0/tests/__init__.py +0 -0
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -0,0 +1,5 @@
1
+ *.log
2
+ *.pyc
3
+ *.cpython*
4
+ *.pyc
5
+ /mkv_episode_matcher/__pycache__
@@ -0,0 +1,3 @@
1
+ [submodule "libraries/pgs2srt"]
2
+ path = libraries/pgs2srt
3
+ url = https://github.com/Jsakkos/pgs2srt
@@ -0,0 +1,11 @@
1
+ {
2
+ "python.testing.unittestArgs": [
3
+ "-v",
4
+ "-s",
5
+ "./tests",
6
+ "-p",
7
+ "*test*.py"
8
+ ],
9
+ "python.testing.pytestEnabled": false,
10
+ "python.testing.unittestEnabled": true
11
+ }
@@ -0,0 +1,100 @@
1
+ Metadata-Version: 2.3
2
+ Name: mkv-episode-matcher
3
+ Version: 0.1.0
4
+ Summary: The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
5
+ Project-URL: Documentation, https://github.com/Jsakkos/mkv-episode-matcher#readme
6
+ Project-URL: Issues, https://github.com/Jsakkos/mkv-episode-matcher/issues
7
+ Project-URL: Source, https://github.com/Jsakkos/mkv-episode-matcher
8
+ Author-email: Jsakkos <jonathansakkos@protonmail.com>
9
+ License-Expression: MIT
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Programming Language :: Python
12
+ Classifier: Programming Language :: Python :: 3.8
13
+ Classifier: Programming Language :: Python :: 3.9
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: Implementation :: CPython
18
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
19
+ Requires-Python: >=3.8
20
+ Requires-Dist: configparser
21
+ Requires-Dist: loguru
22
+ Requires-Dist: opensubtitlescom
23
+ Requires-Dist: pillow
24
+ Requires-Dist: pytesseract
25
+ Requires-Dist: requests
26
+ Requires-Dist: tmdb-client
27
+ Description-Content-Type: text/markdown
28
+
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.
32
+
33
+ ## Quick start
34
+
35
+ To use the MKV Episode Matcher, follow these steps:
36
+
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.
41
+ The directory and subfolders must be arranged in the following structure:
42
+
43
+ - Show name
44
+ - Season 1
45
+ - Season 2
46
+ - ...
47
+ - 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:
49
+
50
+ ```
51
+ python __main__.py --api-key `your-api-key` --show-dir /path/to/show
52
+ ```
53
+
54
+ ## How it works
55
+
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
57
+
58
+
59
+ # Contributing
60
+
61
+ Contributions are welcome! If you would like to contribute to the MKV Episode Matcher project, please follow these steps:
62
+
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.
69
+
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.
71
+
72
+ Thank you for your contribution!
73
+
74
+ # License
75
+
76
+ MIT License
77
+
78
+ Copyright (c) 2024 Jonathan Sakkos
79
+
80
+ Permission is hereby granted, free of charge, to any person obtaining a copy
81
+ of this software and associated documentation files (the "Software"), to deal
82
+ in the Software without restriction, including without limitation the rights
83
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
84
+ copies of the Software, and to permit persons to whom the Software is
85
+ furnished to do so, subject to the following conditions:
86
+
87
+ The above copyright notice and this permission notice shall be included in all
88
+ copies or substantial portions of the Software.
89
+
90
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
91
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
92
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
93
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
94
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
95
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
96
+ SOFTWARE.
97
+
98
+ # Acknowledgments
99
+ 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)
@@ -0,0 +1,72 @@
1
+ # MKV Episode Matcher
2
+
3
+ The MKV Episode Matcher is a tool for identifying TV series episodes from MKV files and renaming the files accordingly.
4
+
5
+ ## Quick start
6
+
7
+ To use the MKV Episode Matcher, follow these steps:
8
+
9
+ 1. Clone this repository `git clone https://github.com/Jsakkos/mkv-episode-matcher`
10
+ 1. Obtain an API key from TMDb (https://developers.themoviedb.org/authentication/getting-a-apikey).
11
+ 2. (Optional) - Obtain an API key from Opensubtitles.com by creating an API consumer (https://www.opensubtitles.com/en/consumers)
12
+ 3. Provide a filepath to your show directory. This is the main directory that contains all of the episodes for a specific show.
13
+ The directory and subfolders must be arranged in the following structure:
14
+
15
+ - Show name
16
+ - Season 1
17
+ - Season 2
18
+ - ...
19
+ - Season n
20
+ 2. Call `python __main__.py` with the TMDB_API_KEY and SHOW_DIR as arguments or in environment variables from your command line:
21
+
22
+ ```
23
+ python __main__.py --api-key `your-api-key` --show-dir /path/to/show
24
+ ```
25
+
26
+ ## How it works
27
+
28
+ 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
29
+
30
+
31
+ # Contributing
32
+
33
+ Contributions are welcome! If you would like to contribute to the MKV Episode Matcher project, please follow these steps:
34
+
35
+ 1. Fork the repository.
36
+ 1. Clone the repository.
37
+ 2. Create a new branch for your contribution.
38
+ 3. Make your changes and commit them to your branch.
39
+ 4. Push your branch to your forked repository.
40
+ 5. Open a pull request to the main repository.
41
+
42
+ 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.
43
+
44
+ Thank you for your contribution!
45
+
46
+ # License
47
+
48
+ MIT License
49
+
50
+ Copyright (c) 2024 Jonathan Sakkos
51
+
52
+ Permission is hereby granted, free of charge, to any person obtaining a copy
53
+ of this software and associated documentation files (the "Software"), to deal
54
+ in the Software without restriction, including without limitation the rights
55
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
56
+ copies of the Software, and to permit persons to whom the Software is
57
+ furnished to do so, subject to the following conditions:
58
+
59
+ The above copyright notice and this permission notice shall be included in all
60
+ copies or substantial portions of the Software.
61
+
62
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
63
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
64
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
65
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
66
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
67
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
68
+ SOFTWARE.
69
+
70
+ # Acknowledgments
71
+ This product uses the TMDB API but is not endorsed or certified by TMDB.
72
+ ![The Movie DB Logo](https://www.themoviedb.org/assets/2/v4/logos/v2/blue_long_2-9665a76b1ae401a510ec1e0ca40ddcb3b0cfe45f1d51b77a308fea0845885648.svg)
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = .
9
+ BUILDDIR = _build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,4 @@
1
+ # Sphinx build info version 1
2
+ # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3
+ config: f4323291f7f0e4afdf0dcc8b520163a5
4
+ tags: 645f666f9bcd5a90fca523b33c5a78b7
File without changes
@@ -0,0 +1,205 @@
1
+
2
+
3
+ <!DOCTYPE html>
4
+ <html class="writer-html5" lang="en" >
5
+ <head>
6
+ <meta charset="utf-8" />
7
+
8
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
9
+
10
+ <title>Overview: module code &mdash; MKV Episode Matcher 0.1.0 documentation</title>
11
+
12
+
13
+
14
+ <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
15
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
16
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
17
+ <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
18
+
19
+
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+ <!--[if lt IE 9]>
29
+ <script src="../_static/js/html5shiv.min.js"></script>
30
+ <![endif]-->
31
+
32
+
33
+ <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
34
+ <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
35
+ <script src="../_static/jquery.js"></script>
36
+ <script src="../_static/underscore.js"></script>
37
+ <script src="../_static/doctools.js"></script>
38
+
39
+ <script type="text/javascript" src="../_static/js/theme.js"></script>
40
+
41
+
42
+ <link rel="index" title="Index" href="../genindex.html" />
43
+ <link rel="search" title="Search" href="../search.html" />
44
+ </head>
45
+
46
+ <body class="wy-body-for-nav">
47
+
48
+
49
+ <div class="wy-grid-for-nav">
50
+
51
+ <nav data-toggle="wy-nav-shift" class="wy-nav-side">
52
+ <div class="wy-side-scroll">
53
+ <div class="wy-side-nav-search" >
54
+
55
+
56
+
57
+ <a href="../index.html" class="icon icon-home"> MKV Episode Matcher
58
+
59
+
60
+
61
+ </a>
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+ <div role="search">
70
+ <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
71
+ <input type="text" name="q" placeholder="Search docs" />
72
+ <input type="hidden" name="check_keywords" value="yes" />
73
+ <input type="hidden" name="area" value="default" />
74
+ </form>
75
+ </div>
76
+
77
+
78
+ </div>
79
+
80
+
81
+ <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
82
+
83
+
84
+
85
+
86
+
87
+
88
+ <p class="caption"><span class="caption-text">Contents:</span></p>
89
+ <ul>
90
+ <li class="toctree-l1"><a class="reference internal" href="../mkv_episode_matcher.html">mkv_episode_matcher package</a></li>
91
+ </ul>
92
+
93
+
94
+
95
+ </div>
96
+
97
+ </div>
98
+ </nav>
99
+
100
+ <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
101
+
102
+
103
+ <nav class="wy-nav-top" aria-label="top navigation">
104
+
105
+ <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
106
+ <a href="../index.html">MKV Episode Matcher</a>
107
+
108
+ </nav>
109
+
110
+
111
+ <div class="wy-nav-content">
112
+
113
+ <div class="rst-content">
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+
133
+ <div role="navigation" aria-label="breadcrumbs navigation">
134
+
135
+ <ul class="wy-breadcrumbs">
136
+
137
+ <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
138
+
139
+ <li>Overview: module code</li>
140
+
141
+
142
+ <li class="wy-breadcrumbs-aside">
143
+
144
+ </li>
145
+
146
+ </ul>
147
+
148
+
149
+ <hr/>
150
+ </div>
151
+ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
152
+ <div itemprop="articleBody">
153
+
154
+ <h1>All modules for which code is available</h1>
155
+ <ul><li><a href="mkv_episode_matcher/config.html">mkv_episode_matcher.config</a></li>
156
+ <li><a href="mkv_episode_matcher/episode_matcher.html">mkv_episode_matcher.episode_matcher</a></li>
157
+ <li><a href="mkv_episode_matcher/mkv_to_srt.html">mkv_episode_matcher.mkv_to_srt</a></li>
158
+ <li><a href="mkv_episode_matcher/tmdb_client.html">mkv_episode_matcher.tmdb_client</a></li>
159
+ <li><a href="mkv_episode_matcher/utils.html">mkv_episode_matcher.utils</a></li>
160
+ </ul>
161
+
162
+ </div>
163
+
164
+ </div>
165
+ <footer>
166
+
167
+ <hr/>
168
+
169
+ <div role="contentinfo">
170
+ <p>
171
+ &#169; Copyright 2024, J Sakkos.
172
+
173
+ </p>
174
+ </div>
175
+
176
+
177
+
178
+ Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
179
+
180
+ <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
181
+
182
+ provided by <a href="https://readthedocs.org">Read the Docs</a>.
183
+
184
+ </footer>
185
+ </div>
186
+ </div>
187
+
188
+ </section>
189
+
190
+ </div>
191
+
192
+
193
+ <script type="text/javascript">
194
+ jQuery(function () {
195
+ SphinxRtdTheme.Navigation.enable(true);
196
+ });
197
+ </script>
198
+
199
+
200
+
201
+
202
+
203
+
204
+ </body>
205
+ </html>