Skip to content

Commit a9aced7

Browse files
authored
Merge pull request #226 from asmacdo/fix-content-upload
Use base serializer to create ContentArtifacts
2 parents 965bdfb + 8f64433 commit a9aced7

3 files changed

Lines changed: 8 additions & 14 deletions

File tree

pulp_python/app/serializers.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -203,14 +203,15 @@ def create(self, validated_data):
203203
"""
204204
classifiers = validated_data.pop('classifiers')
205205

206-
PythonPackageContent = python_models.PythonPackageContent.objects.create(**validated_data)
206+
package_content = super().create(validated_data)
207+
207208
for classifier in classifiers:
208209
python_models.Classifier.objects.create(
209-
python_package_content=PythonPackageContent,
210+
python_package_content=package_content,
210211
**classifier
211212
)
212213

213-
return PythonPackageContent
214+
return package_content
214215

215216
class Meta:
216217
fields = core_serializers.SingleArtifactContentSerializer.Meta.fields + (

pulp_python/app/viewsets.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
from rest_framework.response import Response
1212

1313
from pulpcore.plugin import viewsets as platform
14-
from pulpcore.plugin.models import Artifact, ContentArtifact, RepositoryVersion
14+
from pulpcore.plugin.models import Artifact, RepositoryVersion
1515
from pulpcore.plugin.serializers import (
1616
AsyncOperationResponseSerializer,
1717
RepositoryPublishURLSerializer,
@@ -108,18 +108,11 @@ def create(self, request):
108108
data['version'] = metadata.version
109109
data['filename'] = filename
110110
data['_artifact'] = request.data['_artifact']
111+
data['_relative_path'] = filename
111112

112113
serializer = self.get_serializer(data=data)
113114
serializer.is_valid(raise_exception=True)
114-
serializer.validated_data.pop('_artifact')
115-
content = serializer.save()
116-
117-
if content.pk:
118-
ContentArtifact.objects.create(
119-
artifact=artifact,
120-
content=content,
121-
relative_path=filename
122-
)
115+
serializer.save()
123116

124117
headers = self.get_success_headers(request.data)
125118
return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from setuptools import setup, find_packages
44

55
requirements = [
6-
'pulpcore-plugin>=0.1.0b18',
6+
'pulpcore-plugin>=0.1.0b21',
77
'pkginfo',
88
'packaging',
99
]

0 commit comments

Comments
 (0)