mnamer 2.7.3.dev11__tar.gz → 2.7.3.dev13__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.
- {mnamer-2.7.3.dev11/mnamer.egg-info → mnamer-2.7.3.dev13}/PKG-INFO +1 -1
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/__version__.py +1 -1
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/utils.py +1 -1
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13/mnamer.egg-info}/PKG-INFO +1 -1
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/scm_version.json +2 -2
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_utils.py +15 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/uv.lock +21 -21
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.dockerignore +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/actions/init/action.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/actions/lint/action.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/actions/test/action.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/dependabot.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/workflows/publish-docker.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/workflows/publish.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/workflows/pull_request.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.github/workflows/push.yml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.gitignore +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.python-version +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/.vscode/settings.json +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/AGENTS.md +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/CLAUDE.md +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/Dockerfile +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/LICENSE.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/MANIFEST.in +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/README.md +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/design.eps +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/logo-2.png +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/logo-3.png +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/logo.png +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/recording.mov +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/screenshot.eps +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/assets/screenshot.png +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/makefile +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/__init__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/__main__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/argument.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/const.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/endpoints.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/exceptions.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/frontends.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/language.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/metadata.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/providers.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/py.typed +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/setting_spec.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/setting_store.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/target.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/tty.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer/types.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/SOURCES.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/dependency_links.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/entry_points.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/requires.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/scm_file_list.json +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/mnamer.egg-info/top_level.txt +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/pyproject.toml +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/pytest.ini +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/setup.cfg +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/__init__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/conftest.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/e2e/__init__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/e2e/conftest.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/e2e/test_directives.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/e2e/test_errors.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/e2e/test_moving.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/__init__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_argument.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_language.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_metadata.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_providers.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_setting_spec.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_setting_store.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_target.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/local/test_tty.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/__init__.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_endpoints__omdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_endpoints__tmdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_endpoints__tvdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_endpoints__tvmaze.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_providers__omdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_providers__tmdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_providers__tvdb.py +0 -0
- {mnamer-2.7.3.dev11 → mnamer-2.7.3.dev13}/tests/network/test_providers__tvmaze.py +0 -0
|
@@ -467,7 +467,7 @@ def str_title_case(s: str) -> str:
|
|
|
467
467
|
for pos in findall(string_lower, exception):
|
|
468
468
|
is_start = pos < 2
|
|
469
469
|
if is_start:
|
|
470
|
-
|
|
470
|
+
continue
|
|
471
471
|
prev_char = string_lower[pos - 1]
|
|
472
472
|
is_left_partitioned = prev_char in padding_chars
|
|
473
473
|
word_length = len(exception)
|
|
@@ -698,6 +698,21 @@ def test_str_title_case__lower__ends_with(s: str):
|
|
|
698
698
|
assert actual == expected
|
|
699
699
|
|
|
700
700
|
|
|
701
|
+
@pytest.mark.parametrize(
|
|
702
|
+
("s", "expected"),
|
|
703
|
+
(
|
|
704
|
+
("the cat in the hat", "The Cat in the Hat"),
|
|
705
|
+
("THE CAT IN THE HAT", "The Cat in the Hat"),
|
|
706
|
+
("a man and a plan", "A Man and a Plan"),
|
|
707
|
+
),
|
|
708
|
+
)
|
|
709
|
+
def test_str_title_case__lower__repeated_after_start(s: str, expected: str):
|
|
710
|
+
# The leading exception word stays capitalized, but a later occurrence of
|
|
711
|
+
# the same word must still be lowercased.
|
|
712
|
+
actual = str_title_case(s)
|
|
713
|
+
assert actual == expected
|
|
714
|
+
|
|
715
|
+
|
|
701
716
|
@pytest.mark.parametrize("s", ("at the theatre", "AT THE THEATRE"))
|
|
702
717
|
def test_str_title_case__lower__only_whole_words(s: str):
|
|
703
718
|
expected = "At the Theatre" # theatre prefixed with 'the'
|
|
@@ -959,27 +959,27 @@ wheels = [
|
|
|
959
959
|
|
|
960
960
|
[[package]]
|
|
961
961
|
name = "ruff"
|
|
962
|
-
version = "0.15.
|
|
963
|
-
source = { registry = "https://pypi.org/simple" }
|
|
964
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
965
|
-
wheels = [
|
|
966
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
967
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
968
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
969
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
970
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
971
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
972
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
973
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
974
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
975
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
976
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
977
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
978
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
979
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
980
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
981
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
982
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
962
|
+
version = "0.15.20"
|
|
963
|
+
source = { registry = "https://pypi.org/simple" }
|
|
964
|
+
sdist = { url = "https://files.pythonhosted.org/packages/43/dc/35b341fc554ba02f217fc10da57d1a75168cfbcf75b0ef2202176d4c4f2d/ruff-0.15.20.tar.gz", hash = "sha256:1416eb04349192646b54de98f146c4f59afe37d0decfc02c3cbbf396f3a28566", size = 4755489, upload-time = "2026-06-25T17:20:37.578Z" }
|
|
965
|
+
wheels = [
|
|
966
|
+
{ url = "https://files.pythonhosted.org/packages/94/d9/2d5014f0253ba541d2061d9fa7193f48e941c8b21bb88a7ff9bbe0bd0596/ruff-0.15.20-py3-none-linux_armv6l.whl", hash = "sha256:00e188c53e499c3c1637f73c91dcf2fb56d576cab76ce1be50a27c4e80e37078", size = 10839665, upload-time = "2026-06-25T17:19:44.702Z" },
|
|
967
|
+
{ url = "https://files.pythonhosted.org/packages/c6/d3/ac1798ba64f670698867fcfc591d50e7e421bef137db564858f619a30fcf/ruff-0.15.20-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9ebd1fd9b9c95fc0bd7b2761aebec1f030013d2e193a2901b224af68fe47251b", size = 11208649, upload-time = "2026-06-25T17:19:48.787Z" },
|
|
968
|
+
{ url = "https://files.pythonhosted.org/packages/47/47/d3ac899991202095dfcf3d5176be4272642be3cf981a2f1a30f72a2afb95/ruff-0.15.20-py3-none-macosx_11_0_arm64.whl", hash = "sha256:c5b16cdd67ca108185cd36dce98c576350c03b1660a751de725fb049193a0632", size = 10622638, upload-time = "2026-06-25T17:19:51.354Z" },
|
|
969
|
+
{ url = "https://files.pythonhosted.org/packages/33/13/4e043fe30aa94d4ff5213a9881fc296d12960f5971b234a5263fdc225312/ruff-0.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3413bb3c3d2ca6a8208f1f4809cd2dca3c6de6d0b491c0e70847672bde6e6efd", size = 10984227, upload-time = "2026-06-25T17:19:54.044Z" },
|
|
970
|
+
{ url = "https://files.pythonhosted.org/packages/76/e6/92e7bf40388bc5800073b96564f56264f7e48bfd1a498f5ced6ae6d5a769/ruff-0.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd7ec42b3bb3da066488db093308a69c4ac5ee6d2af333a86ba6e2eb2e7dd44b", size = 10622882, upload-time = "2026-06-25T17:19:57.037Z" },
|
|
971
|
+
{ url = "https://files.pythonhosted.org/packages/13/7a/43460be3f24495a3aa46d4b16873e2c4941b3b5f0b00cf88c03b7b94b339/ruff-0.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1a36ad0eb77fba9aabfb69ede54de6f376d04ac18ebea022847046d340a8267", size = 11474808, upload-time = "2026-06-25T17:20:00.357Z" },
|
|
972
|
+
{ url = "https://files.pythonhosted.org/packages/27/a0/f37077884873221c6b33b4ab49eb18f9f88e54a16a25a5bca59bef46dd66/ruff-0.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b6df3b1e4610432f0386dba04d853b5f08cbbc903410c6fcc02f620f05aff53c", size = 12293094, upload-time = "2026-06-25T17:20:03.446Z" },
|
|
973
|
+
{ url = "https://files.pythonhosted.org/packages/a6/74/165545b60256a9704c21ac0ec4a0d07933b320812f9584836c9f4aca4292/ruff-0.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e89f198a1ea6ef0d727c1cf16088bc91a6cb0ab947dedc966715691647186eae", size = 11526176, upload-time = "2026-06-25T17:20:06.301Z" },
|
|
974
|
+
{ url = "https://files.pythonhosted.org/packages/86/b1/a976a136d40ade83ce743578399865f57001003a409acadc0ecbb3051082/ruff-0.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309809086c2acb67624950a3c8133e80f32d0d3e27106c0cd60ff26657c9f24b", size = 11520767, upload-time = "2026-06-25T17:20:09.191Z" },
|
|
975
|
+
{ url = "https://files.pythonhosted.org/packages/19/0f/f032696cb01c9b54c0263fa393474d7758f1cdc021a01b04e3cbc2500999/ruff-0.15.20-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2d2374caa2f2c2f9e2b7da0a50802cfb8b79f55a9b5e49379f564544fbf56487", size = 11500132, upload-time = "2026-06-25T17:20:13.602Z" },
|
|
976
|
+
{ url = "https://files.pythonhosted.org/packages/4b/f4/51b1a14bc69e8c224b15dab9cce8e99b425e0455d462caa2b3c9be2b6a8e/ruff-0.15.20-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:a1ed17b65293e0c2f22fc387bc13198a5de94bf4429589b0ff6946b0feaf21a3", size = 10943828, upload-time = "2026-06-25T17:20:16.635Z" },
|
|
977
|
+
{ url = "https://files.pythonhosted.org/packages/71/4b/fe267640783cd02bf6c5cc290b1df1051be2ec294c678b5c15fe19e52343/ruff-0.15.20-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f701305e66b38ea6c91882490eb73459796808e4c6362a1b765255e0cdcd4053", size = 10645418, upload-time = "2026-06-25T17:20:19.4Z" },
|
|
978
|
+
{ url = "https://files.pythonhosted.org/packages/b0/c0/a65aa4ec2f5e87a1df32dc3ec1fede434fe3dfd5cbcf3b503cafc676ab54/ruff-0.15.20-py3-none-musllinux_1_2_i686.whl", hash = "sha256:5b9c0c367ad8e5d0d5b5b8537864c469a0a0e55417aadfbeca41fa61333be9f4", size = 11211770, upload-time = "2026-06-25T17:20:22.033Z" },
|
|
979
|
+
{ url = "https://files.pythonhosted.org/packages/5a/a4/0caa331d954ae2723d729d351c989cb4ca8b6077d5c6c2cb6de75e98c041/ruff-0.15.20-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:01cc00dd58f0df339d0e902219dd53990ea99996a0344e5d9cc8d45d5307e460", size = 11618698, upload-time = "2026-06-25T17:20:25.259Z" },
|
|
980
|
+
{ url = "https://files.pythonhosted.org/packages/10/9b/5f14927848d2fd4aa891fd88d883788c5a7baba561c7874732364045708c/ruff-0.15.20-py3-none-win32.whl", hash = "sha256:ed65ef510e43a137207e0f01cfcf998aeddb1aeeda5c9d35023e910284d7cf21", size = 10857322, upload-time = "2026-06-25T17:20:28.612Z" },
|
|
981
|
+
{ url = "https://files.pythonhosted.org/packages/fa/f0/fe47c501f9dea92a26d788ff98bb5d92ed4cb4c88792c5c88af6b697dc8e/ruff-0.15.20-py3-none-win_amd64.whl", hash = "sha256:a525c81c70fb0380344dd1d8745d8cc1c890b7fc94a58d5a07bd8eb9557b8415", size = 11993274, upload-time = "2026-06-25T17:20:31.871Z" },
|
|
982
|
+
{ url = "https://files.pythonhosted.org/packages/d7/2b/9555445e1201d92b3195f45cdb153a0b68f24e0a4273f6e3d5ab46e212bb/ruff-0.15.20-py3-none-win_arm64.whl", hash = "sha256:2f5b2a6d614e8700388806a14996c40fab2c47b819ef57d790a34878858ed9ca", size = 11343498, upload-time = "2026-06-25T17:20:35.03Z" },
|
|
983
983
|
]
|
|
984
984
|
|
|
985
985
|
[[package]]
|
|
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
|