mnamer 2.7.2.dev8__tar.gz → 2.7.3.dev2__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.
Files changed (80) hide show
  1. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/workflows/publish.yml +3 -0
  2. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/workflows/pull_request.yml +3 -0
  3. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/workflows/push.yml +14 -0
  4. {mnamer-2.7.2.dev8/mnamer.egg-info → mnamer-2.7.3.dev2}/PKG-INFO +1 -1
  5. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/__version__.py +1 -1
  6. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/providers.py +9 -6
  7. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2/mnamer.egg-info}/PKG-INFO +1 -1
  8. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.dockerignore +0 -0
  9. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/actions/init/action.yml +0 -0
  10. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/actions/lint/action.yml +0 -0
  11. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/actions/test/action.yml +0 -0
  12. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/dependabot.yml +0 -0
  13. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.github/workflows/publish-docker.yml +0 -0
  14. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.gitignore +0 -0
  15. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.python-version +0 -0
  16. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/.vscode/settings.json +0 -0
  17. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/AGENTS.md +0 -0
  18. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/CLAUDE.md +0 -0
  19. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/Dockerfile +0 -0
  20. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/LICENSE.txt +0 -0
  21. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/MANIFEST.in +0 -0
  22. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/README.md +0 -0
  23. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/design.eps +0 -0
  24. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/logo-2.png +0 -0
  25. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/logo-3.png +0 -0
  26. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/logo.png +0 -0
  27. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/recording.mov +0 -0
  28. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/screenshot.eps +0 -0
  29. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/assets/screenshot.png +0 -0
  30. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/makefile +0 -0
  31. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/__init__.py +0 -0
  32. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/__main__.py +0 -0
  33. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/argument.py +0 -0
  34. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/const.py +0 -0
  35. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/endpoints.py +0 -0
  36. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/exceptions.py +0 -0
  37. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/frontends.py +0 -0
  38. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/language.py +0 -0
  39. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/metadata.py +0 -0
  40. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/py.typed +0 -0
  41. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/setting_spec.py +0 -0
  42. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/setting_store.py +0 -0
  43. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/target.py +0 -0
  44. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/tty.py +0 -0
  45. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/types.py +0 -0
  46. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer/utils.py +0 -0
  47. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer.egg-info/SOURCES.txt +0 -0
  48. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer.egg-info/dependency_links.txt +0 -0
  49. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer.egg-info/entry_points.txt +0 -0
  50. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer.egg-info/requires.txt +0 -0
  51. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/mnamer.egg-info/top_level.txt +0 -0
  52. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/pyproject.toml +0 -0
  53. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/pytest.ini +0 -0
  54. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/setup.cfg +0 -0
  55. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/__init__.py +0 -0
  56. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/conftest.py +0 -0
  57. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/e2e/__init__.py +0 -0
  58. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/e2e/conftest.py +0 -0
  59. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/e2e/test_directives.py +0 -0
  60. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/e2e/test_errors.py +0 -0
  61. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/e2e/test_moving.py +0 -0
  62. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/__init__.py +0 -0
  63. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_argument.py +0 -0
  64. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_language.py +0 -0
  65. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_metadata.py +0 -0
  66. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_setting_spec.py +0 -0
  67. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_setting_store.py +0 -0
  68. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_target.py +0 -0
  69. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_tty.py +0 -0
  70. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/local/test_utils.py +0 -0
  71. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/__init__.py +0 -0
  72. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_endpoints__omdb.py +0 -0
  73. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_endpoints__tmdb.py +0 -0
  74. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_endpoints__tvdb.py +0 -0
  75. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_endpoints__tvmaze.py +0 -0
  76. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_providers__omdb.py +0 -0
  77. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_providers__tmdb.py +0 -0
  78. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_providers__tvdb.py +0 -0
  79. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/tests/network/test_providers__tvmaze.py +0 -0
  80. {mnamer-2.7.2.dev8 → mnamer-2.7.3.dev2}/uv.lock +0 -0
@@ -4,6 +4,9 @@ on:
4
4
  workflow_call:
5
5
  workflow_dispatch:
6
6
 
7
+ permissions:
8
+ contents: read
9
+
7
10
  jobs:
8
11
  publish-pypi:
9
12
  runs-on: ubuntu-latest
@@ -2,6 +2,9 @@ name: pr
2
2
 
3
3
  on: pull_request
4
4
 
5
+ permissions:
6
+ contents: read
7
+
5
8
  jobs:
6
9
  lint:
7
10
  runs-on: ubuntu-latest
@@ -11,6 +11,9 @@ on:
11
11
  - published
12
12
  - prereleased
13
13
 
14
+ permissions:
15
+ contents: read
16
+
14
17
  jobs:
15
18
  lint:
16
19
  runs-on: ubuntu-latest
@@ -50,6 +53,9 @@ jobs:
50
53
  secrets:
51
54
  inherit
52
55
 
56
+ permissions:
57
+ contents: read
58
+
53
59
  uses: ./.github/workflows/publish.yml
54
60
 
55
61
  publish-docker-main:
@@ -65,6 +71,10 @@ jobs:
65
71
  secrets:
66
72
  inherit
67
73
 
74
+ permissions:
75
+ contents: read
76
+ packages: write
77
+
68
78
  uses: ./.github/workflows/publish-docker.yml
69
79
  with:
70
80
  target: latest-sha
@@ -85,6 +95,10 @@ jobs:
85
95
  secrets:
86
96
  inherit
87
97
 
98
+ permissions:
99
+ contents: read
100
+ packages: write
101
+
88
102
  uses: ./.github/workflows/publish-docker.yml
89
103
  with:
90
104
  target: event-release
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mnamer
3
- Version: 2.7.2.dev8
3
+ Version: 2.7.3.dev2
4
4
  Summary: A command-line utility for organizing media files.
5
5
  Author-email: Jessy Williams <jessy@jessywilliams.com>
6
6
  Maintainer-email: Jessy Williams <jessy@jessywilliams.com>
@@ -1,4 +1,4 @@
1
1
  # file generated by setuptools_scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __version__ = "2.7.2.dev8"
4
+ __version__ = "2.7.3.dev2"
@@ -31,7 +31,7 @@ from mnamer.language import Language
31
31
  from mnamer.metadata import Metadata, MetadataEpisode, MetadataMovie
32
32
  from mnamer.setting_store import SettingStore
33
33
  from mnamer.types import MediaType, ProviderType
34
- from mnamer.utils import parse_date, year_range_parse
34
+ from mnamer.utils import parse_date, year_parse, year_range_parse
35
35
 
36
36
 
37
37
  class Provider[M: Metadata](ABC):
@@ -212,6 +212,7 @@ class Tmdb(Provider[MetadataMovie]):
212
212
  self, name: str, year: str | None, language: Language | None
213
213
  ) -> Iterator[MetadataMovie]:
214
214
  assert self.api_key
215
+ requested_year = year_parse(year) if year else None
215
216
  page = 1
216
217
  page_max = 5 # each page yields a maximum of 20 results
217
218
  found = False
@@ -226,17 +227,19 @@ class Tmdb(Provider[MetadataMovie]):
226
227
  )
227
228
  for entry in response["results"]:
228
229
  try:
229
- meta = MetadataMovie(
230
+ result_year = year_parse(entry.get("release_date", ""))
231
+ if result_year is None:
232
+ continue
233
+ if requested_year and result_year != requested_year:
234
+ continue
235
+ found = True
236
+ yield MetadataMovie(
230
237
  id_tmdb=str(entry["id"]),
231
238
  name=entry["title"],
232
239
  language=language,
233
240
  synopsis=entry.get("overview"),
234
241
  year=entry.get("release_date"),
235
242
  )
236
- if not meta.year:
237
- continue
238
- yield meta
239
- found = True
240
243
  except (AttributeError, KeyError, TypeError, ValueError):
241
244
  continue
242
245
  if page == response["total_pages"]:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mnamer
3
- Version: 2.7.2.dev8
3
+ Version: 2.7.3.dev2
4
4
  Summary: A command-line utility for organizing media files.
5
5
  Author-email: Jessy Williams <jessy@jessywilliams.com>
6
6
  Maintainer-email: Jessy Williams <jessy@jessywilliams.com>
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