diff --git a/CHANGES/412.feature b/CHANGES/412.feature new file mode 100644 index 000000000..b4a3fec62 --- /dev/null +++ b/CHANGES/412.feature @@ -0,0 +1 @@ +Added new setting ``PYPI_API_HOSTNAME`` that is used to form a distribution's ``base_url``. Defaults to the machine's FQDN. diff --git a/pulp_python/app/models.py b/pulp_python/app/models.py index a6bd4d922..e0a32c9e4 100644 --- a/pulp_python/app/models.py +++ b/pulp_python/app/models.py @@ -4,7 +4,7 @@ from django.contrib.postgres.fields import ArrayField, JSONField from django.core.exceptions import ObjectDoesNotExist from django.db import models -from dynaconf import settings +from django.conf import settings from yarl import URL from pulpcore.plugin.models import ( diff --git a/pulp_python/app/serializers.py b/pulp_python/app/serializers.py index fd7f779a7..133fc8706 100644 --- a/pulp_python/app/serializers.py +++ b/pulp_python/app/serializers.py @@ -3,6 +3,7 @@ import tempfile from django.core.files.storage import default_storage as storage +from django.conf import settings from packaging.requirements import Requirement from rest_framework import serializers @@ -12,7 +13,6 @@ from pulp_python.app import models as python_models from pulp_python.app.tasks.upload import DIST_EXTENSIONS, DIST_TYPES from pulp_python.app.utils import parse_project_metadata -from pulp_python.app.urls import PYPI_API_HOSTNAME class PythonRepositorySerializer(core_serializers.RepositorySerializer): @@ -54,7 +54,7 @@ class PythonDistributionSerializer(core_serializers.DistributionSerializer): def get_base_url(self, obj): """Gets the base url.""" - return f"{PYPI_API_HOSTNAME}/pypi/{obj.base_path}/" + return f"{settings.PYPI_API_HOSTNAME}/pypi/{obj.base_path}/" def validate(self, data): """ diff --git a/pulp_python/app/settings.py b/pulp_python/app/settings.py index 6d519f9a8..3aeb3a74d 100644 --- a/pulp_python/app/settings.py +++ b/pulp_python/app/settings.py @@ -1 +1,4 @@ +import socket + PYTHON_GROUP_UPLOADS = False +PYPI_API_HOSTNAME = 'https://' + socket.getfqdn() diff --git a/pulp_python/app/urls.py b/pulp_python/app/urls.py index e26cb020d..d6a513782 100644 --- a/pulp_python/app/urls.py +++ b/pulp_python/app/urls.py @@ -1,10 +1,8 @@ -import socket from django.urls import path from pulp_python.app.pypi.views import SimpleView, MetadataView, PyPIView, UploadView PYPI_API_URL = 'pypi//' -PYPI_API_HOSTNAME = 'https://' + socket.getfqdn() # TODO: Implement remaining PyPI endpoints # path("project/", PackageProject.as_view()), # Endpoints to nicely see contents of index # path("search/", PackageSearch.as_view()),