django-codemod 2.4.7__tar.gz → 2.5.1__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.
- {django_codemod-2.4.7/src/django_codemod.egg-info → django_codemod-2.5.1}/PKG-INFO +4 -3
- {django_codemod-2.4.7 → django_codemod-2.5.1}/pyproject.toml +6 -5
- django_codemod-2.5.1/src/django_codemod/__init__.py +1 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/base.py +4 -1
- {django_codemod-2.4.7 → django_codemod-2.5.1/src/django_codemod.egg-info}/PKG-INFO +4 -3
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/SOURCES.txt +0 -1
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/requires.txt +2 -2
- django_codemod-2.4.7/src/django_codemod/__init__.py +0 -1
- django_codemod-2.4.7/tests/test_e2e.sh +0 -39
- {django_codemod-2.4.7 → django_codemod-2.5.1}/LICENSE +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/MANIFEST.in +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/README.md +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/docs/Makefile +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/docs/conf.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/docs/make.bat +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/setup.cfg +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/cli.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/commands.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/constants.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/feature_flags.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/path_utils.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/utils/__init__.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/utils/calls.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/__init__.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/admin.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/core.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/crypto.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/decorators.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/encoding.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/exceptions.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/forms.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/html.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/http.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/lru_cache.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/models.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/os_utils.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/paginator.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/postgres_fields.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/shortcuts.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/signals.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/template_context.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/template_tags.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/timezone.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/translations.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/urls.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/dependency_links.txt +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/entry_points.txt +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/top_level.txt +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/__init__.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/test_cli.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/test_path_utils.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/__init__.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/base.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_admin.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_base.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_core.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_crypto.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_decorators.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_encoding.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_exceptions.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_forms.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_html.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_http.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_lru_cache.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_models.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_os_utils.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_paginator.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_postgres_fields.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_shortcuts.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_signals.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_template_context.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_template_tags.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_timezone.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_translations.py +0 -0
- {django_codemod-2.4.7 → django_codemod-2.5.1}/tests/visitors/test_urls.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-codemod
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.1
|
|
4
4
|
Summary: A command line tool to automatically fix Django deprecations.
|
|
5
5
|
Author-email: Bruno Alla <alla.brunoo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -21,12 +21,13 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
24
25
|
Classifier: Topic :: Software Development :: Libraries
|
|
25
26
|
Requires-Python: >=3.10
|
|
26
27
|
Description-Content-Type: text/markdown
|
|
27
28
|
License-File: LICENSE
|
|
28
|
-
Requires-Dist: click<8.
|
|
29
|
-
Requires-Dist: libcst==1.9
|
|
29
|
+
Requires-Dist: click<8.6
|
|
30
|
+
Requires-Dist: libcst==1.9
|
|
30
31
|
Requires-Dist: pathspec<2,>=0.6
|
|
31
32
|
Requires-Dist: rich>=10
|
|
32
33
|
Requires-Dist: rich-click>=1
|
|
@@ -4,7 +4,7 @@ requires = [ "setuptools>=77.0.3" ]
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "django-codemod"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.5.1"
|
|
8
8
|
description = "A command line tool to automatically fix Django deprecations."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
keywords = [
|
|
@@ -28,11 +28,12 @@ classifiers = [
|
|
|
28
28
|
"Programming Language :: Python :: 3.12",
|
|
29
29
|
"Programming Language :: Python :: 3.13",
|
|
30
30
|
"Programming Language :: Python :: 3.14",
|
|
31
|
+
"Programming Language :: Python :: 3.15",
|
|
31
32
|
"Topic :: Software Development :: Libraries",
|
|
32
33
|
]
|
|
33
34
|
dependencies = [
|
|
34
|
-
"click<8.
|
|
35
|
-
"libcst==1.9
|
|
35
|
+
"click<8.6",
|
|
36
|
+
"libcst==1.9",
|
|
36
37
|
"pathspec>=0.6,<2",
|
|
37
38
|
"rich>=10",
|
|
38
39
|
"rich-click>=1",
|
|
@@ -51,7 +52,7 @@ dev = [
|
|
|
51
52
|
"pytest>=9,<10",
|
|
52
53
|
"pytest-cov>=7,<8",
|
|
53
54
|
"pytest-mock>=3.3,<4",
|
|
54
|
-
"ty==0.0.
|
|
55
|
+
"ty==0.0.75",
|
|
55
56
|
]
|
|
56
57
|
docs = [
|
|
57
58
|
"furo>=2023.5.20; python_version>='3.11'",
|
|
@@ -96,7 +97,7 @@ lint.per-file-ignores."tests/**/*" = [
|
|
|
96
97
|
lint.isort.known-first-party = [ "django_codemod", "tests" ]
|
|
97
98
|
|
|
98
99
|
[tool.pyproject-fmt]
|
|
99
|
-
max_supported_python = "3.
|
|
100
|
+
max_supported_python = "3.15"
|
|
100
101
|
|
|
101
102
|
[tool.ty]
|
|
102
103
|
terminal.error-on-warning = true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "2.5.1"
|
|
@@ -267,7 +267,10 @@ class BaseRenameTransformer(BaseDjCodemodTransformer, ABC):
|
|
|
267
267
|
|
|
268
268
|
def resolve_scope(self, node: CSTNode) -> Scope:
|
|
269
269
|
scopes_map = self.context.wrapper.resolve(ScopeProvider) # type: ignore
|
|
270
|
-
|
|
270
|
+
scope = scopes_map[node]
|
|
271
|
+
if scope is None:
|
|
272
|
+
raise KeyError(f"Scope not found for node {node}")
|
|
273
|
+
return scope
|
|
271
274
|
|
|
272
275
|
def save_import_scope(self, import_from: ImportFrom) -> None:
|
|
273
276
|
scope = self.resolve_scope(import_from)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-codemod
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.5.1
|
|
4
4
|
Summary: A command line tool to automatically fix Django deprecations.
|
|
5
5
|
Author-email: Bruno Alla <alla.brunoo@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -21,12 +21,13 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.13
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.14
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
24
25
|
Classifier: Topic :: Software Development :: Libraries
|
|
25
26
|
Requires-Python: >=3.10
|
|
26
27
|
Description-Content-Type: text/markdown
|
|
27
28
|
License-File: LICENSE
|
|
28
|
-
Requires-Dist: click<8.
|
|
29
|
-
Requires-Dist: libcst==1.9
|
|
29
|
+
Requires-Dist: click<8.6
|
|
30
|
+
Requires-Dist: libcst==1.9
|
|
30
31
|
Requires-Dist: pathspec<2,>=0.6
|
|
31
32
|
Requires-Dist: rich>=10
|
|
32
33
|
Requires-Dist: rich-click>=1
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "2.4.7"
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env bash
|
|
2
|
-
|
|
3
|
-
set -xu
|
|
4
|
-
|
|
5
|
-
mkdir -p e2e
|
|
6
|
-
cd e2e
|
|
7
|
-
django-admin startproject djcme2e
|
|
8
|
-
cd djcme2e
|
|
9
|
-
django-admin startapp app1
|
|
10
|
-
|
|
11
|
-
echo "from django.db import models
|
|
12
|
-
from django.utils.encoding import force_text
|
|
13
|
-
from django.utils.translation import ugettext_lazy as _
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class AppModel(models.Model):
|
|
17
|
-
name = models.CharField(_('Name'))
|
|
18
|
-
slug = models.SlugField(_('Name'))
|
|
19
|
-
|
|
20
|
-
def __str__(self):
|
|
21
|
-
return force_text(self.name)
|
|
22
|
-
" > app1/models.py
|
|
23
|
-
|
|
24
|
-
cp -r ../djcme2e ../djcme2e_orig
|
|
25
|
-
|
|
26
|
-
djcodemod run --deprecated-in 3.0 .
|
|
27
|
-
|
|
28
|
-
cd ..
|
|
29
|
-
|
|
30
|
-
OUT=$(diff -qr djcme2e_orig/ djcme2e/ | grep -v 'models.py differ')
|
|
31
|
-
|
|
32
|
-
if [ "${OUT}" != "" ]
|
|
33
|
-
then
|
|
34
|
-
echo "ERROR: unexpected differences found:"
|
|
35
|
-
diff -r djcme2e_orig/ djcme2e/
|
|
36
|
-
exit 1
|
|
37
|
-
else
|
|
38
|
-
exit 0
|
|
39
|
-
fi
|
|
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
|
{django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/postgres_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod/visitors/template_context.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_codemod-2.4.7 → django_codemod-2.5.1}/src/django_codemod.egg-info/dependency_links.txt
RENAMED
|
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
|