mirror of
https://github.com/ArchiveBox/ArchiveBox
synced 2024-11-26 14:10:20 +00:00
98 lines
3.7 KiB
Python
98 lines
3.7 KiB
Python
__package__ = 'abx.django'
|
|
|
|
import itertools
|
|
# from benedict import benedict
|
|
|
|
from .. import pm
|
|
|
|
|
|
def get_INSTALLED_APPS():
|
|
return itertools.chain(*reversed(pm.hook.get_INSTALLED_APPS()))
|
|
|
|
# def register_INSTALLLED_APPS(INSTALLED_APPS):
|
|
# pm.hook.register_INSTALLED_APPS(INSTALLED_APPS=INSTALLED_APPS)
|
|
|
|
|
|
def get_MIDDLEWARES():
|
|
return itertools.chain(*reversed(pm.hook.get_MIDDLEWARE()))
|
|
|
|
# def register_MIDDLEWARES(MIDDLEWARE):
|
|
# pm.hook.register_MIDDLEWARE(MIDDLEWARE=MIDDLEWARE)
|
|
|
|
|
|
def get_AUTHENTICATION_BACKENDS():
|
|
return itertools.chain(*reversed(pm.hook.get_AUTHENTICATION_BACKENDS()))
|
|
|
|
# def register_AUTHENTICATION_BACKENDS(AUTHENTICATION_BACKENDS):
|
|
# pm.hook.register_AUTHENTICATION_BACKENDS(AUTHENTICATION_BACKENDS=AUTHENTICATION_BACKENDS)
|
|
|
|
|
|
def get_STATICFILES_DIRS():
|
|
return itertools.chain(*reversed(pm.hook.get_STATICFILES_DIRS()))
|
|
|
|
# def register_STATICFILES_DIRS(STATICFILES_DIRS):
|
|
# pm.hook.register_STATICFILES_DIRS(STATICFILES_DIRS=STATICFILES_DIRS)
|
|
|
|
|
|
def get_TEMPLATE_DIRS():
|
|
return itertools.chain(*reversed(pm.hook.get_TEMPLATE_DIRS()))
|
|
|
|
# def register_TEMPLATE_DIRS(TEMPLATE_DIRS):
|
|
# pm.hook.register_TEMPLATE_DIRS(TEMPLATE_DIRS=TEMPLATE_DIRS)
|
|
|
|
def get_DJANGO_HUEY_QUEUES(QUEUE_DATABASE_NAME='queue.sqlite3'):
|
|
HUEY_QUEUES = {}
|
|
for plugin_result in pm.hook.get_DJANGO_HUEY_QUEUES(QUEUE_DATABASE_NAME=QUEUE_DATABASE_NAME):
|
|
HUEY_QUEUES.update(plugin_result)
|
|
return HUEY_QUEUES
|
|
|
|
# def register_DJANGO_HUEY(DJANGO_HUEY):
|
|
# pm.hook.register_DJANGO_HUEY(DJANGO_HUEY=DJANGO_HUEY)
|
|
|
|
def get_ADMIN_DATA_VIEWS_URLS():
|
|
return itertools.chain(*reversed(pm.hook.get_ADMIN_DATA_VIEWS_URLS()))
|
|
|
|
# def register_ADMIN_DATA_VIEWS(ADMIN_DATA_VIEWS):
|
|
# pm.hook.register_ADMIN_DATA_VIEWS(ADMIN_DATA_VIEWS=ADMIN_DATA_VIEWS)
|
|
|
|
|
|
# def register_settings(settings):
|
|
# # convert settings dict to an benedict so we can set values using settings.attr = xyz notation
|
|
# settings_as_obj = benedict(settings, keypath_separator=None)
|
|
|
|
# # set default values for settings that are used by plugins
|
|
# # settings_as_obj.INSTALLED_APPS = settings_as_obj.get('INSTALLED_APPS', [])
|
|
# # settings_as_obj.MIDDLEWARE = settings_as_obj.get('MIDDLEWARE', [])
|
|
# # settings_as_obj.AUTHENTICATION_BACKENDS = settings_as_obj.get('AUTHENTICATION_BACKENDS', [])
|
|
# # settings_as_obj.STATICFILES_DIRS = settings_as_obj.get('STATICFILES_DIRS', [])
|
|
# # settings_as_obj.TEMPLATE_DIRS = settings_as_obj.get('TEMPLATE_DIRS', [])
|
|
# # settings_as_obj.DJANGO_HUEY = settings_as_obj.get('DJANGO_HUEY', {'queues': {}})
|
|
# # settings_as_obj.ADMIN_DATA_VIEWS = settings_as_obj.get('ADMIN_DATA_VIEWS', {'URLS': []})
|
|
|
|
# # # call all the hook functions to mutate the settings values in-place
|
|
# # register_INSTALLLED_APPS(settings_as_obj.INSTALLED_APPS)
|
|
# # register_MIDDLEWARES(settings_as_obj.MIDDLEWARE)
|
|
# # register_AUTHENTICATION_BACKENDS(settings_as_obj.AUTHENTICATION_BACKENDS)
|
|
# # register_STATICFILES_DIRS(settings_as_obj.STATICFILES_DIRS)
|
|
# # register_TEMPLATE_DIRS(settings_as_obj.TEMPLATE_DIRS)
|
|
# # register_DJANGO_HUEY(settings_as_obj.DJANGO_HUEY)
|
|
# # register_ADMIN_DATA_VIEWS(settings_as_obj.ADMIN_DATA_VIEWS)
|
|
|
|
# # calls Plugin.settings(settings) on each registered plugin
|
|
# pm.hook.register_settings(settings=settings_as_obj)
|
|
|
|
# # then finally update the settings globals() object will all the new settings
|
|
# # settings.update(settings_as_obj)
|
|
|
|
|
|
def get_urlpatterns():
|
|
return list(itertools.chain(*pm.hook.urlpatterns()))
|
|
|
|
def register_urlpatterns(urlpatterns):
|
|
pm.hook.register_urlpatterns(urlpatterns=urlpatterns)
|
|
|
|
|
|
def register_checks():
|
|
"""register any django system checks"""
|
|
pm.hook.register_checks()
|
|
|