pulpcore 3.91.0__py3-none-any.whl → 3.91.1__py3-none-any.whl

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 pulpcore might be problematic. Click here for more details.

@@ -6,6 +6,6 @@ class PulpCertGuardPluginAppConfig(PulpPluginAppConfig):
6
6
 
7
7
  name = "pulp_certguard.app"
8
8
  label = "certguard"
9
- version = "3.91.0"
9
+ version = "3.91.1"
10
10
  python_package_name = "pulpcore"
11
11
  domain_compatible = True
pulp_file/app/__init__.py CHANGED
@@ -8,6 +8,6 @@ class PulpFilePluginAppConfig(PulpPluginAppConfig):
8
8
 
9
9
  name = "pulp_file.app"
10
10
  label = "file"
11
- version = "3.91.0"
11
+ version = "3.91.1"
12
12
  python_package_name = "pulpcore"
13
13
  domain_compatible = True
pulpcore/app/apps.py CHANGED
@@ -239,7 +239,7 @@ class PulpAppConfig(PulpPluginAppConfig):
239
239
  label = "core"
240
240
 
241
241
  # The version of this app
242
- version = "3.91.0"
242
+ version = "3.91.1"
243
243
 
244
244
  # The python package name providing this app
245
245
  python_package_name = "pulpcore"
@@ -188,13 +188,37 @@ class SingleArtifactContentUploadSerializer(
188
188
  and "pulp_labels" in kwargs["data"]
189
189
  and isinstance(kwargs["data"]["pulp_labels"], str)
190
190
  ):
191
- kwargs["data"]["pulp_labels"] = json.loads(kwargs["data"]["pulp_labels"])
191
+ try:
192
+ kwargs["data"]["pulp_labels"] = json.loads(kwargs["data"]["pulp_labels"])
193
+ except AttributeError:
194
+ # malformed uploads cause request.data._mutable=False and pulp_labels will fail
195
+ # to be modified with "AttributeError: This QueryDict instance is immutable".
196
+ pass
192
197
 
193
198
  super().__init__(*args, **kwargs)
194
199
 
195
200
  if "artifact" in self.fields:
196
201
  self.fields["artifact"].required = False
197
202
 
203
+ def validate(self, data):
204
+ """
205
+ Validate the serializer data, with special handling for pulp_labels deserialization.
206
+
207
+ This method checks if pulp_labels failed to be deserialized from JSON string to dict
208
+ during initialization (typically due to immutable QueryDict).
209
+ """
210
+ if "pulp_labels" in data and isinstance(data["pulp_labels"], str):
211
+ raise ValidationError(
212
+ _(
213
+ """
214
+ Failed to deserialize pulp_labels!
215
+ This error often occurs when file didn't upload, is incomplete, or
216
+ when pulp_labels are not in a valid JSON format.
217
+ """
218
+ )
219
+ )
220
+ return super().validate(data)
221
+
198
222
  def deferred_validate(self, data):
199
223
  """
200
224
  Validate the content unit by deeply analyzing the specified Artifact.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pulpcore
3
- Version: 3.91.0
3
+ Version: 3.91.1
4
4
  Summary: Pulp Django Application and Related Modules
5
5
  Author-email: Pulp Team <pulp-list@redhat.com>
6
6
  Project-URL: Homepage, https://pulpproject.org
@@ -1,6 +1,6 @@
1
1
  pulp_certguard/__init__.py,sha256=llnEd00PrsAretsgAOHiNKFbmvIdXe3iDVPmSaKz7gU,71
2
2
  pulp_certguard/pytest_plugin.py,sha256=qhRbChzqN2PROtD-65KuoTfKr5k9T3GPsz9daFgpqpM,852
3
- pulp_certguard/app/__init__.py,sha256=XcInH95cKAi4LgiSvikWrya7M1eCZvjUCbiIK6Ki4Xc,297
3
+ pulp_certguard/app/__init__.py,sha256=TiynDgA5oFYX4HV6JZGSOAoVH7LlgV_u_mdVDvTBMiI,297
4
4
  pulp_certguard/app/models.py,sha256=YLEhBtZM4hetekVZ_GTnbLlWD6CkIQw2B3ILwXRcq-s,7483
5
5
  pulp_certguard/app/serializers.py,sha256=9IxlQiy783RdKF9oI1mrYS4haG5Boy2DOjfP_eJtMLY,1726
6
6
  pulp_certguard/app/viewsets.py,sha256=1_gNmsWyOT8kcOiGVkn4-wrtAjZO4wC8q0-aoEsCpjI,697
@@ -51,7 +51,7 @@ pulp_certguard/tests/unit/test_rhsm_check_path.py,sha256=Q1CsXnUgD7ELvtolPeumyNr
51
51
  pulp_file/__init__.py,sha256=0vOCXofR6Eyxkg4y66esnOGPeESCe23C1cNBHj56w44,61
52
52
  pulp_file/manifest.py,sha256=1WwIOJrPSkFcmkRm7CkWifVOCoZvo_nnANgce6uuG7U,3796
53
53
  pulp_file/pytest_plugin.py,sha256=l1PvTxUi5D3uJy4SnHWNhr-otWEYNcm-kc5nSqVJg0Y,10646
54
- pulp_file/app/__init__.py,sha256=_6TzVdkfTWTfkDT6YC0Wwiw7jzi5-2mdu3J2_5H776o,292
54
+ pulp_file/app/__init__.py,sha256=9hWYgtFBI5ps0jxPpiIASm2N3foPHKjn06_2M64om2Y,292
55
55
  pulp_file/app/modelresource.py,sha256=v-m-_bBEsfr8wG0TI5ffx1TuKUy2-PsirhuQz4XXF-0,1063
56
56
  pulp_file/app/models.py,sha256=QsrVg_2uKqnR89sLN2Y7Zy260_nLIcUfa94uZowlmFw,4571
57
57
  pulp_file/app/replica.py,sha256=OtNWVmdFUgNTYhPttftVNQnSrnvx2_hnrJgtW_G0Vrg,1894
@@ -97,7 +97,7 @@ pulpcore/pytest_plugin.py,sha256=fy9vz5-bw30T7f4jxDtNIgF7L_0MJ_q7KIAzpvizvnY,382
97
97
  pulpcore/responses.py,sha256=mIGKmdCfTSoZxbFu4yIH1xbdLx1u5gqt3D99LTamcJg,6125
98
98
  pulpcore/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
99
  pulpcore/app/access_policy.py,sha256=5vCKy6WoHtIt1_-eS5vMaZ7CmR4G-CIpsrB8yT-d88Q,6079
100
- pulpcore/app/apps.py,sha256=tD-bUjkkNdvXcpRQemfeVnOrqxsG-vOYCYlIWSjkepY,17981
100
+ pulpcore/app/apps.py,sha256=zWa5JSfI0Ce1L0iACTx8AQoECvNyvt13qaLMEHWCmD0,17981
101
101
  pulpcore/app/authentication.py,sha256=1LIJW6HIQQlZrliHy__jdzkDEh6Oj7xKgd0V-vRcDus,2855
102
102
  pulpcore/app/checks.py,sha256=jbfTF7nmftBbky4AQXHigpyCaGydKasvRUXsd72JZVg,1946
103
103
  pulpcore/app/entrypoint.py,sha256=GYEq4GjglQZhFlU3865AT_H0nPypDKJAsf8qdyR4tPY,4985
@@ -330,7 +330,7 @@ pulpcore/plugin/download/__init__.py,sha256=XRrHVz5_QfxSixHr15b4Cni0Z-D3xiRITqiS
330
330
  pulpcore/plugin/models/__init__.py,sha256=jY0kg1KB15WdD_nzX_8Nz9Gms-HLwIdwzMTjToa7IbQ,1948
331
331
  pulpcore/plugin/models/role.py,sha256=ZwWt9eQOfjjk2rcGKuXuENoOPldTjqLI9LLXKSBXsEQ,244
332
332
  pulpcore/plugin/serializers/__init__.py,sha256=rtEQYlxILhjgmQCDDoK2V3jH5sT3tmncmacjvVzIxyo,2698
333
- pulpcore/plugin/serializers/content.py,sha256=JSSrMZstG1XkNqJ-idq-y3Xt7RxTqrBpMcpw15PHx-k,9086
333
+ pulpcore/plugin/serializers/content.py,sha256=ycsDUpbL-0fwIrd27z70vh7Rs8SH_TR7YrRPOuWU_D0,10123
334
334
  pulpcore/plugin/stages/__init__.py,sha256=ZSMmgOKoPjEfg1VhNpldJf2bUvqezCG4gj_FBkJ4CpU,466
335
335
  pulpcore/plugin/stages/api.py,sha256=6iet7K6H5c9vk5lS9oE3gCyLlqdDKoqPMfF-lNIA-GQ,8435
336
336
  pulpcore/plugin/stages/artifact_stages.py,sha256=yKJQc06YevDiWGDsQDuWXzL0juj49UZ_wrE718Bd4CI,22870
@@ -446,9 +446,9 @@ pulpcore/tests/unit/stages/test_artifactdownloader.py,sha256=DX6jHctGYbDhsnzQpXf
446
446
  pulpcore/tests/unit/stages/test_stages.py,sha256=H1a2BQLjdZlZvcb_qULp62huZ1xy6ItTcthktVyGU0w,4735
447
447
  pulpcore/tests/unit/viewsets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
448
448
  pulpcore/tests/unit/viewsets/test_viewset_base.py,sha256=gmVIgE9o0tAdiF92HCNiJkb1joc8oEaG5rnzh5V1loc,4837
449
- pulpcore-3.91.0.dist-info/licenses/LICENSE,sha256=dhnHU8rJXUdAIgIjveSKAyYG_KzN5eVG-bxETIGrNW0,17988
450
- pulpcore-3.91.0.dist-info/METADATA,sha256=q7Hb_jL0w-a1aGiGf2Vey5WT6BrXh0wLl7uXORInMDU,4104
451
- pulpcore-3.91.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
452
- pulpcore-3.91.0.dist-info/entry_points.txt,sha256=OZven4wzXzQA5b5q9MpP4HUpIPPQCSvIOvkKtNInrK0,452
453
- pulpcore-3.91.0.dist-info/top_level.txt,sha256=6h-Lm3FKQSaT_nL1KSxu_hBnzKE15bcvf_BoU-ea4CI,34
454
- pulpcore-3.91.0.dist-info/RECORD,,
449
+ pulpcore-3.91.1.dist-info/licenses/LICENSE,sha256=dhnHU8rJXUdAIgIjveSKAyYG_KzN5eVG-bxETIGrNW0,17988
450
+ pulpcore-3.91.1.dist-info/METADATA,sha256=l-w6DU1v1L24tnbBA5Tv9yfBOtQm5sxbjkdfNj6lMMs,4104
451
+ pulpcore-3.91.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
452
+ pulpcore-3.91.1.dist-info/entry_points.txt,sha256=OZven4wzXzQA5b5q9MpP4HUpIPPQCSvIOvkKtNInrK0,452
453
+ pulpcore-3.91.1.dist-info/top_level.txt,sha256=6h-Lm3FKQSaT_nL1KSxu_hBnzKE15bcvf_BoU-ea4CI,34
454
+ pulpcore-3.91.1.dist-info/RECORD,,