pulp-python 3.24.0__tar.gz → 3.24.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.
- {pulp_python-3.24.0 → pulp_python-3.24.1}/CHANGES.md +9 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/PKG-INFO +1 -1
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/__init__.py +1 -1
- pulp_python-3.24.1/pulp_python/app/migrations/0019_create_missing_metadata_artifacts.py +24 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/PKG-INFO +1 -1
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pyproject.toml +2 -2
- pulp_python-3.24.0/pulp_python/app/migrations/0019_create_missing_metadata_artifacts.py +0 -204
- {pulp_python-3.24.0 → pulp_python-3.24.1}/COMMITMENT +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/COPYRIGHT +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/LICENSE +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/MANIFEST.in +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/README.md +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/functest_requirements.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/global_access_conditions.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/management/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/management/commands/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/management/commands/repair-python-metadata.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0001_initial.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0001_squashed_0010_update_json_field.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0002_pythonpackagecontent_python_version.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0003_new_sync_filters.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0004_DATA_swap_distribution_model.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0005_pythonpackagecontent_sha256.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0006_pythonrepository_autopublish.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0007_pythonpackagecontent_mv-2-1.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0008_pythonpackagecontent_unique_sha256.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0009_pythondistribution_allow_uploads.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0010_update_json_field.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0011_alter_pythondistribution_distribution_ptr_and_more.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0012_add_domain.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0013_add_rbac_permissions.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0014_pythonpackagecontent_dynamic_and_more.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0015_alter_pythonpackagecontent_options.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0016_pythonpackagecontent_metadata_sha256.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0017_pythonpackagecontent_size.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0018_packageprovenance.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/modelresource.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/models.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/provenance.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/pypi/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/pypi/serializers.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/pypi/views.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/replica.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/serializers.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/settings.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/publish.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/repair.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/sync.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/upload.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/tasks/vulnerability_report.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/urls.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/utils.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/viewsets.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/webserver_snippets/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/webserver_snippets/apache.conf +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/webserver_snippets/nginx.conf +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/pytest_plugin.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_attestations.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_auto_publish.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_consume_content.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_content_unit.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_publications.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_remotes.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_domains.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_download_content.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_export_import.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_full_mirror.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_pypi_apis.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_pypi_simple_api.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_rbac.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_repair.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_sync.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_upload.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_vulnerability_report.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/assets/shelf-reader-0.1.tar.gz.publish.attestation +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/assets/shelf_reader-0.1-py2-none-any.whl.publish.attestation +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/constants.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/utils.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/unit/__init__.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/unit/test_models.py +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/SOURCES.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/dependency_links.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/entry_points.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/requires.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python.egg-info/top_level.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/setup.cfg +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/test_requirements.txt +0 -0
- {pulp_python-3.24.0 → pulp_python-3.24.1}/unittest_requirements.txt +0 -0
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
[//]: # (towncrier release notes start)
|
|
10
10
|
|
|
11
|
+
## 3.24.1 (2026-01-22) {: #3.24.1 }
|
|
12
|
+
|
|
13
|
+
#### Bugfixes {: #3.24.1-bugfix }
|
|
14
|
+
|
|
15
|
+
- Changed migration 19 to reset package's metadata_sha256 to null. This field will be fixed in a later release.
|
|
16
|
+
[#1071](https://github.com/pulp/pulp_python/issues/1071)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
11
20
|
## 3.24.0 (2026-01-20) {: #3.24.0 }
|
|
12
21
|
|
|
13
22
|
#### Features {: #3.24.0-feature }
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Generated manually on 2025-12-15 14:00 for creating missing metadata artifacts
|
|
2
|
+
from django.db import migrations
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def set_metadata_sha256_null(apps, schema_editor):
|
|
6
|
+
# We can't easily create the metadata artifacts in this migration, so just set the metadata_sha256
|
|
7
|
+
# to null and we will introduce a new command later to create them.
|
|
8
|
+
PythonPackageContent = apps.get_model("python", "PythonPackageContent")
|
|
9
|
+
PythonPackageContent.objects.filter(metadata_sha256__isnull=False).update(metadata_sha256=None)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class Migration(migrations.Migration):
|
|
13
|
+
|
|
14
|
+
dependencies = [
|
|
15
|
+
("python", "0018_packageprovenance"),
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
operations = [
|
|
19
|
+
migrations.RunPython(
|
|
20
|
+
set_metadata_sha256_null,
|
|
21
|
+
reverse_code=migrations.RunPython.noop,
|
|
22
|
+
elidable=True,
|
|
23
|
+
),
|
|
24
|
+
]
|
|
@@ -7,7 +7,7 @@ build-backend = 'setuptools.build_meta'
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "pulp-python"
|
|
10
|
-
version = "3.24.
|
|
10
|
+
version = "3.24.1"
|
|
11
11
|
description = "pulp-python plugin for the Pulp Project"
|
|
12
12
|
readme = "README.md"
|
|
13
13
|
authors = [
|
|
@@ -77,7 +77,7 @@ ignore = [
|
|
|
77
77
|
[tool.bumpversion]
|
|
78
78
|
# This section is managed by the plugin template. Do not edit manually.
|
|
79
79
|
|
|
80
|
-
current_version = "3.24.
|
|
80
|
+
current_version = "3.24.1"
|
|
81
81
|
commit = false
|
|
82
82
|
tag = false
|
|
83
83
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<alpha>0a)?(?P<patch>\\d+)(\\.(?P<release>[a-z]+))?"
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
# Generated manually on 2025-12-15 14:00 for creating missing metadata artifacts
|
|
2
|
-
|
|
3
|
-
from django.db import migrations
|
|
4
|
-
|
|
5
|
-
BATCH_SIZE = 1000
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def pulp_hashlib_new(name, *args, **kwargs):
|
|
9
|
-
"""
|
|
10
|
-
Copied and updated (to comply with migrations) from pulpcore.
|
|
11
|
-
"""
|
|
12
|
-
import hashlib as the_real_hashlib
|
|
13
|
-
from django.conf import settings
|
|
14
|
-
|
|
15
|
-
if name not in settings.ALLOWED_CONTENT_CHECKSUMS:
|
|
16
|
-
return None
|
|
17
|
-
|
|
18
|
-
return the_real_hashlib.new(name, *args, **kwargs)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def init_and_validate(file, artifact_model, expected_digests):
|
|
22
|
-
"""
|
|
23
|
-
Copied and updated (to comply with migrations) from pulpcore.
|
|
24
|
-
"""
|
|
25
|
-
from django.conf import settings
|
|
26
|
-
|
|
27
|
-
digest_fields = []
|
|
28
|
-
for alg in ("sha512", "sha384", "sha256", "sha224", "sha1", "md5"):
|
|
29
|
-
if alg in settings.ALLOWED_CONTENT_CHECKSUMS:
|
|
30
|
-
digest_fields.append(alg)
|
|
31
|
-
|
|
32
|
-
if isinstance(file, str):
|
|
33
|
-
with open(file, "rb") as f:
|
|
34
|
-
hashers = {
|
|
35
|
-
n: hasher for n in digest_fields if (hasher := pulp_hashlib_new(n)) is not None
|
|
36
|
-
}
|
|
37
|
-
if not hashers:
|
|
38
|
-
return None
|
|
39
|
-
|
|
40
|
-
size = 0
|
|
41
|
-
while True:
|
|
42
|
-
chunk = f.read(1048576) # 1 megabyte
|
|
43
|
-
if not chunk:
|
|
44
|
-
break
|
|
45
|
-
for algorithm in hashers.values():
|
|
46
|
-
algorithm.update(chunk)
|
|
47
|
-
size = size + len(chunk)
|
|
48
|
-
else:
|
|
49
|
-
size = file.size
|
|
50
|
-
hashers = file.hashers
|
|
51
|
-
|
|
52
|
-
mismatched_sha256 = None
|
|
53
|
-
for algorithm, expected_digest in expected_digests.items():
|
|
54
|
-
if algorithm not in hashers:
|
|
55
|
-
return None
|
|
56
|
-
actual_digest = hashers[algorithm].hexdigest()
|
|
57
|
-
if expected_digest != actual_digest:
|
|
58
|
-
# Store the actual value for later fixing if it differs from the package value
|
|
59
|
-
mismatched_sha256 = actual_digest
|
|
60
|
-
|
|
61
|
-
attributes = {"size": size, "file": file}
|
|
62
|
-
for algorithm in digest_fields:
|
|
63
|
-
attributes[algorithm] = hashers[algorithm].hexdigest()
|
|
64
|
-
|
|
65
|
-
return artifact_model(**attributes), mismatched_sha256
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
def extract_wheel_metadata(filename):
|
|
69
|
-
"""
|
|
70
|
-
Extract the metadata file content from a wheel file.
|
|
71
|
-
Return the raw metadata content as bytes or None if metadata cannot be extracted.
|
|
72
|
-
"""
|
|
73
|
-
import zipfile
|
|
74
|
-
|
|
75
|
-
try:
|
|
76
|
-
with zipfile.ZipFile(filename, "r") as f:
|
|
77
|
-
for file_path in f.namelist():
|
|
78
|
-
if file_path.endswith(".dist-info/METADATA"):
|
|
79
|
-
return f.read(file_path)
|
|
80
|
-
except (zipfile.BadZipFile, KeyError, OSError):
|
|
81
|
-
pass
|
|
82
|
-
return None
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
def artifact_to_metadata_artifact(filename, artifact, md_digests, tmp_dir, artifact_model):
|
|
86
|
-
"""
|
|
87
|
-
Create artifact for metadata from the provided wheel artifact.
|
|
88
|
-
Return (artifact, mismatched_sha256) on success, None on any failure.
|
|
89
|
-
"""
|
|
90
|
-
import shutil
|
|
91
|
-
import tempfile
|
|
92
|
-
|
|
93
|
-
with tempfile.NamedTemporaryFile("wb", dir=tmp_dir, suffix=filename, delete=False) as temp_file:
|
|
94
|
-
temp_wheel_path = temp_file.name
|
|
95
|
-
artifact.file.seek(0)
|
|
96
|
-
shutil.copyfileobj(artifact.file, temp_file)
|
|
97
|
-
temp_file.flush()
|
|
98
|
-
|
|
99
|
-
metadata_content = extract_wheel_metadata(temp_wheel_path)
|
|
100
|
-
if not metadata_content:
|
|
101
|
-
return None
|
|
102
|
-
|
|
103
|
-
with tempfile.NamedTemporaryFile(
|
|
104
|
-
"wb", dir=tmp_dir, suffix=".metadata", delete=False
|
|
105
|
-
) as temp_md:
|
|
106
|
-
temp_metadata_path = temp_md.name
|
|
107
|
-
temp_md.write(metadata_content)
|
|
108
|
-
temp_md.flush()
|
|
109
|
-
|
|
110
|
-
return init_and_validate(temp_metadata_path, artifact_model, md_digests)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
def create_missing_metadata_artifacts(apps, schema_editor):
|
|
114
|
-
"""
|
|
115
|
-
Create metadata artifacts for PythonPackageContent instances that have metadata_sha256
|
|
116
|
-
but are missing the corresponding metadata artifact.
|
|
117
|
-
"""
|
|
118
|
-
import tempfile
|
|
119
|
-
from django.conf import settings
|
|
120
|
-
from django.db import models
|
|
121
|
-
|
|
122
|
-
PythonPackageContent = apps.get_model("python", "PythonPackageContent")
|
|
123
|
-
ContentArtifact = apps.get_model("core", "ContentArtifact")
|
|
124
|
-
Artifact = apps.get_model("core", "Artifact")
|
|
125
|
-
|
|
126
|
-
packages = (
|
|
127
|
-
PythonPackageContent.objects.filter(
|
|
128
|
-
metadata_sha256__isnull=False,
|
|
129
|
-
filename__endswith=".whl",
|
|
130
|
-
contentartifact__artifact__isnull=False,
|
|
131
|
-
contentartifact__relative_path=models.F("filename"),
|
|
132
|
-
)
|
|
133
|
-
.exclude(metadata_sha256="")
|
|
134
|
-
.prefetch_related("_artifacts")
|
|
135
|
-
.only("filename", "metadata_sha256")
|
|
136
|
-
)
|
|
137
|
-
artifact_batch = []
|
|
138
|
-
contentartifact_batch = []
|
|
139
|
-
packages_batch = []
|
|
140
|
-
|
|
141
|
-
with tempfile.TemporaryDirectory(dir=settings.WORKING_DIRECTORY) as temp_dir:
|
|
142
|
-
for package in packages:
|
|
143
|
-
# Get the main artifact for package
|
|
144
|
-
main_artifact = package._artifacts.get()
|
|
145
|
-
|
|
146
|
-
filename = package.filename
|
|
147
|
-
metadata_digests = {"sha256": package.metadata_sha256}
|
|
148
|
-
result = artifact_to_metadata_artifact(
|
|
149
|
-
filename, main_artifact, metadata_digests, temp_dir, Artifact
|
|
150
|
-
)
|
|
151
|
-
if result is None:
|
|
152
|
-
# Unset metadata_sha256 when extraction or validation fails
|
|
153
|
-
package.metadata_sha256 = None
|
|
154
|
-
packages_batch.append(package)
|
|
155
|
-
continue
|
|
156
|
-
metadata_artifact, mismatched_sha256 = result
|
|
157
|
-
if mismatched_sha256:
|
|
158
|
-
# Fix the package if its metadata_sha256 differs from the actual value
|
|
159
|
-
package.metadata_sha256 = mismatched_sha256
|
|
160
|
-
packages_batch.append(package)
|
|
161
|
-
|
|
162
|
-
# Set the domain on the metadata artifact to match the package's domain
|
|
163
|
-
metadata_artifact.pulp_domain = package._pulp_domain
|
|
164
|
-
|
|
165
|
-
contentartifact = ContentArtifact(
|
|
166
|
-
artifact=metadata_artifact,
|
|
167
|
-
content=package,
|
|
168
|
-
relative_path=f"{filename}.metadata",
|
|
169
|
-
)
|
|
170
|
-
artifact_batch.append(metadata_artifact)
|
|
171
|
-
contentartifact_batch.append(contentartifact)
|
|
172
|
-
|
|
173
|
-
if len(artifact_batch) == BATCH_SIZE:
|
|
174
|
-
Artifact.objects.bulk_create(artifact_batch, batch_size=BATCH_SIZE)
|
|
175
|
-
ContentArtifact.objects.bulk_create(contentartifact_batch, batch_size=BATCH_SIZE)
|
|
176
|
-
artifact_batch.clear()
|
|
177
|
-
contentartifact_batch.clear()
|
|
178
|
-
if len(packages_batch) == BATCH_SIZE:
|
|
179
|
-
PythonPackageContent.objects.bulk_update(
|
|
180
|
-
packages_batch, ["metadata_sha256"], batch_size=BATCH_SIZE
|
|
181
|
-
)
|
|
182
|
-
packages_batch.clear()
|
|
183
|
-
|
|
184
|
-
if artifact_batch:
|
|
185
|
-
Artifact.objects.bulk_create(artifact_batch, batch_size=BATCH_SIZE)
|
|
186
|
-
ContentArtifact.objects.bulk_create(contentartifact_batch, batch_size=BATCH_SIZE)
|
|
187
|
-
if packages_batch:
|
|
188
|
-
PythonPackageContent.objects.bulk_update(
|
|
189
|
-
packages_batch, ["metadata_sha256"], batch_size=BATCH_SIZE
|
|
190
|
-
)
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
class Migration(migrations.Migration):
|
|
194
|
-
|
|
195
|
-
dependencies = [
|
|
196
|
-
("python", "0018_packageprovenance"),
|
|
197
|
-
]
|
|
198
|
-
|
|
199
|
-
operations = [
|
|
200
|
-
migrations.RunPython(
|
|
201
|
-
create_missing_metadata_artifacts,
|
|
202
|
-
reverse_code=migrations.RunPython.noop,
|
|
203
|
-
),
|
|
204
|
-
]
|
|
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
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0003_new_sync_filters.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0010_update_json_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0013_add_rbac_permissions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/app/migrations/0018_packageprovenance.py
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
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_attestations.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_auto_publish.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_consume_content.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_content_unit.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_publications.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_crud_remotes.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_download_content.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_export_import.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_full_mirror.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_pypi_apis.py
RENAMED
|
File without changes
|
{pulp_python-3.24.0 → pulp_python-3.24.1}/pulp_python/tests/functional/api/test_pypi_simple_api.py
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
|