ArchiveBox/archivebox/pkg/settings.py

34 lines
932 B
Python
Raw Normal View History

2024-08-30 06:32:36 -04:00
__package__ = 'archivebox.pkg'
2024-08-23 05:02:34 -04:00
import os
2024-08-23 05:02:34 -04:00
import sys
import shutil
import inspect
from pathlib import Path
import django
from django.conf import settings
from django.db.backends.sqlite3.base import Database as sqlite3
from pydantic_pkgr import Binary, BinProvider, BrewProvider, PipProvider, NpmProvider, AptProvider, EnvProvider, SemVer
2024-08-23 05:02:34 -04:00
from pydantic_pkgr.binprovider import bin_abspath
from ..config import NODE_BIN_PATH, bin_path
2024-08-23 05:02:34 -04:00
apt = AptProvider()
brew = BrewProvider()
env = EnvProvider(PATH=os.environ.get('PATH', '/bin'))
2024-08-23 05:02:34 -04:00
# Defined in their own plugins:
#pip = PipProvider(PATH=str(Path(sys.executable).parent))
#npm = NpmProvider(PATH=NODE_BIN_PATH)
2024-08-23 05:02:34 -04:00
LOADED_DEPENDENCIES = {}
for bin_name, binary_spec in settings.BINARIES.items():
2024-08-23 05:02:34 -04:00
try:
settings.BINARIES[bin_name] = binary_spec.load()
2024-08-23 05:02:34 -04:00
except Exception as e:
# print(f"- ❌ Binary {bin_name} failed to load with error: {e}")
2024-08-23 05:02:34 -04:00
continue