refactor python package structure

This commit is contained in:
Tobias Brunner 2025-01-30 11:23:25 +01:00
parent 9eff769622
commit 8c9671602b
No known key found for this signature in database
19 changed files with 56 additions and 49 deletions

2
.gitignore vendored
View file

@ -12,4 +12,4 @@ wheels/
# Project specifics
.env
*.sqlite3
hub/media/
media/

13
hub/__main__.py Normal file
View file

@ -0,0 +1,13 @@
import os
import sys
def main():
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hub.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
if __name__ == "__main__":
main()

View file

@ -1,22 +0,0 @@
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hub.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == "__main__":
main()

View file

@ -3,4 +3,4 @@ from django.apps import AppConfig
class ServicebrokerConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "servicebroker"
name = "hub.servicebroker"

View file

@ -1,5 +1,5 @@
from rest_framework import serializers
from services.models import Service, CloudProvider
from hub.services.models import Service, CloudProvider
class ServicePlanSerializer(serializers.Serializer):

View file

@ -10,7 +10,7 @@ from .serializers import (
BindingRequestSerializer,
BindingResponseSerializer,
)
from services.models import Service
from hub.services.models import Service
class ServiceBrokerView(APIView):

View file

@ -3,4 +3,4 @@ from django.apps import AppConfig
class ServicesConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "services"
name = "hub.services"

View file

@ -1,7 +1,7 @@
# Generated by Django 5.1.5 on 2025-01-29 08:34
import django.db.models.deletion
import services.models
import hub.services.models
from django.db import migrations, models
@ -67,7 +67,7 @@ class Migration(migrations.Migration):
blank=True,
null=True,
upload_to="cloud_provider_logos/",
validators=[services.models.validate_image_size],
validators=[hub.services.models.validate_image_size],
),
),
],
@ -190,7 +190,7 @@ class Migration(migrations.Migration):
blank=True,
null=True,
upload_to="service_logos/",
validators=[services.models.validate_image_size],
validators=[hub.services.models.validate_image_size],
),
),
("features", models.TextField()),
@ -293,7 +293,7 @@ class Migration(migrations.Migration):
blank=True,
null=True,
upload_to="partner_logos/",
validators=[services.models.validate_image_size],
validators=[hub.services.models.validate_image_size],
),
),
("website", models.URLField(blank=True)),

View file

@ -3,13 +3,13 @@ from django.conf import settings
from django.shortcuts import render, get_object_or_404, redirect
from django.contrib import messages
from django.urls import reverse
from services.models import (
from hub.services.models import (
Service,
ServiceOffering,
Plan,
)
from services.forms import LeadForm
from services.odoo import OdooAPI
from hub.services.forms import LeadForm
from hub.services.odoo import OdooAPI
logger = logging.getLogger(__name__)

View file

@ -1,6 +1,6 @@
from django.shortcuts import render, get_object_or_404
from django.db.models import Q
from services.models import (
from hub.services.models import (
ServiceOffering,
CloudProvider,
Category,

View file

@ -1,6 +1,6 @@
from django.shortcuts import render, get_object_or_404
from django.db.models import Q
from services.models import (
from hub.services.models import (
ConsultingPartner,
CloudProvider,
)

View file

@ -1,6 +1,6 @@
from django.shortcuts import render, get_object_or_404
from django.db.models import Q
from services.models import (
from hub.services.models import (
Service,
CloudProvider,
)

View file

@ -1,6 +1,6 @@
from django.shortcuts import render, get_object_or_404
from django.db.models import Q
from services.models import (
from hub.services.models import (
Service,
ConsultingPartner,
CloudProvider,

View file

@ -59,8 +59,8 @@ INSTALLED_APPS = [
"rest_framework",
"schema_viewer",
# local
"services",
"servicebroker",
"hub.services",
"hub.servicebroker",
]
if DEBUG:
INSTALLED_APPS += ["django_browser_reload"]
@ -169,19 +169,19 @@ MEDIA_URL = "/media/"
MEDIA_ROOT = env.path("MEDIA_ROOT", default=BASE_DIR / "media")
ODOO_CONFIG = {
"url": env.str("ODOO_URL"),
"db": env.str("ODOO_DB"),
"username": env.str("ODOO_USERNAME"),
"password": env.str("ODOO_PASSWORD"),
"url": env.str("ODOO_URL", default="http://localhost:8069"),
"db": env.str("ODOO_DB", default="odoo"),
"username": env.str("ODOO_USERNAME", default="odoo"),
"password": env.str("ODOO_PASSWORD", default="odoo"),
}
BROKER_USERNAME = env.str("BROKER_USERNAME")
BROKER_PASSWORD = env.str("BROKER_PASSWORD")
BROKER_USERNAME = env.str("BROKER_USERNAME", default="broker")
BROKER_PASSWORD = env.str("BROKER_PASSWORD", default="secret")
BASE_URL = "https://your-domain.com"
REST_FRAMEWORK = {
"DEFAULT_AUTHENTICATION_CLASSES": [
"servicebroker.authentication.ServiceBrokerAuthentication",
"hub.servicebroker.authentication.ServiceBrokerAuthentication",
],
"UNAUTHENTICATED_USER": None,
}

View file

@ -5,8 +5,8 @@ from django.urls import path, include
urlpatterns = [
path("admin/", admin.site.urls),
path("", include("services.urls")),
path("broker/", include("servicebroker.urls")),
path("", include("hub.services.urls")),
path("broker/", include("hub.servicebroker.urls")),
]
if settings.DEBUG:
urlpatterns += [

16
manage.py Executable file
View file

@ -0,0 +1,16 @@
#!/usr/bin/env python
import os
import sys
def main():
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "hub.settings")
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError("Couldn't import Django") from exc
execute_from_command_line(sys.argv)
if __name__ == "__main__":
main()