diff options
Diffstat (limited to 'src/hatch_django_collectstatic/plugin.py')
| -rw-r--r-- | src/hatch_django_collectstatic/plugin.py | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/src/hatch_django_collectstatic/plugin.py b/src/hatch_django_collectstatic/plugin.py index ec3c4dd..f8bf759 100644 --- a/src/hatch_django_collectstatic/plugin.py +++ b/src/hatch_django_collectstatic/plugin.py @@ -1,7 +1,9 @@ -import importlib +import os import sys from pathlib import Path +import django.core.management + from django import setup from django.contrib.staticfiles.management.commands.collectstatic import Command from hatchling.builders.hooks.plugin.interface import BuildHookInterface @@ -11,25 +13,10 @@ class DjangoCollectstaticBuildHook(BuildHookInterface): PLUGIN_NAME = "django-collectstatic" def initialize(self, version, build_data): - from django.conf import settings - - sys.path.insert(0, str(Path(self.root) / "src")) - project_settings = importlib.import_module(self.config["settings"]) - - settings.configure( - INSTALLED_APPS=project_settings.INSTALLED_APPS, - STATIC_ROOT=self.config.get("output-directory", "static"), - STATIC_URL=project_settings.STATIC_URL, + sys.path.extend( + str(Path(package).parent) + for package in self.build_config.default_packages() ) + os.environ["DJANGO_SETTINGS_MODULE"] = self.config["settings"] setup() - collectstatic_command = Command() - collectstatic_command.handle( - interactive=False, - verbosity=1, - link=False, - clear=False, - dry_run=False, - ignore_patterns=[], - use_default_ignore_patterns=True, - post_process=True, - ) + django.core.management.call_command(Command()) |
