Skip to content

Commit c4ac51a

Browse files
committed
tmp - fix integrity error
1 parent 6b99fc8 commit c4ac51a

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

pulp_python/app/utils.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from aiohttp.client_exceptions import ClientError
1010
from collections import defaultdict
1111
from django.conf import settings
12+
from django.db.utils import IntegrityError
1213
from django.utils import timezone
1314
from jinja2 import Template
1415
from packaging.utils import canonicalize_name
@@ -17,6 +18,7 @@
1718
from pypi_simple import ACCEPT_JSON_PREFERRED, ProjectPage
1819
from pulpcore.plugin.models import Artifact, Remote
1920
from pulpcore.plugin.exceptions import TimeoutException
21+
from pulpcore.plugin.util import get_domain
2022

2123

2224
log = logging.getLogger(__name__)
@@ -277,7 +279,12 @@ def artifact_to_metadata_artifact(filename: str, artifact: Artifact) -> Artifact
277279
metadata_temp.write(metadata_content)
278280
metadata_temp.flush()
279281
metadata_artifact = Artifact.init_and_validate(metadata_temp.name)
280-
metadata_artifact.save()
282+
try:
283+
metadata_artifact.save()
284+
except IntegrityError:
285+
metadata_artifact = Artifact.objects.get(
286+
sha256=metadata_artifact.sha256, pulp_domain=get_domain()
287+
)
281288
return metadata_artifact
282289

283290

0 commit comments

Comments
 (0)