summaryrefslogtreecommitdiff
path: root/src/hatch_django_collectstatic/plugin.py
blob: f8bf7597538b9a7ba187b23a6c3bcb13dc37cba3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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


class DjangoCollectstaticBuildHook(BuildHookInterface):
    PLUGIN_NAME = "django-collectstatic"

    def initialize(self, version, build_data):
        sys.path.extend(
            str(Path(package).parent)
            for package in self.build_config.default_packages()
        )
        os.environ["DJANGO_SETTINGS_MODULE"] = self.config["settings"]
        setup()
        django.core.management.call_command(Command())