Logger creation simplified
This commit is contained in:
parent
154896f948
commit
77f8f61aab
@ -1,27 +1,37 @@
|
|||||||
|
#######################################################################
|
||||||
|
# Configuration of your django application
|
||||||
|
#######################################################################
|
||||||
#
|
#
|
||||||
# Piki Setting
|
# Piki Setting
|
||||||
#
|
#
|
||||||
STARTPAGE = "startpage"
|
STARTPAGE = "startpage"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Users library
|
||||||
|
#
|
||||||
|
# This enables or disables the self registration
|
||||||
USERS_SELF_REGISTRATION = False
|
USERS_SELF_REGISTRATION = False
|
||||||
|
|
||||||
|
#
|
||||||
|
# Themes library
|
||||||
|
#
|
||||||
|
# This defines the default theme, if no theme is set in the django parameters
|
||||||
|
DEFAULT_THEME = 'clear-blue'
|
||||||
|
|
||||||
#
|
#
|
||||||
# General settings
|
# Django
|
||||||
#
|
#
|
||||||
# APP_NAME is used for logging
|
# This defines the mode of the running server
|
||||||
APP_NAME = 'piki'
|
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with a dummy secret in production!
|
# This a the secret key for your application.
|
||||||
|
# SECURITY WARNING: don't run with a dummy secret in production! And don't let others read this key!
|
||||||
SECRET_KEY = None
|
SECRET_KEY = None
|
||||||
|
|
||||||
|
# This defines the listener hostnames for your django server
|
||||||
# SECURITY WARNING: don't run with '0.0.0.0' in in production, unless you know what you are doing!
|
# SECURITY WARNING: don't run with '0.0.0.0' in in production, unless you know what you are doing!
|
||||||
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', ]
|
# ALLOWED_HOSTS = ['<YOUR_SERVER_HOSTNAME>', ]
|
||||||
|
|
||||||
#
|
# This might be needed for usage in a docker environment
|
||||||
# Style settings
|
# CSRF_TRUSTED_ORIGINS = ['<YOUR_SERVER_URL>', ]
|
||||||
#
|
|
||||||
DEFAULT_THEME = 'clear-blue'
|
|
||||||
|
2
mycreole
2
mycreole
@ -1 +1 @@
|
|||||||
Subproject commit e093c48e91aa378ac87bb32e90bc391a81024acb
|
Subproject commit 997594e37149b55e598f7dedfefed3c2998a2c87
|
@ -2,9 +2,9 @@ import inspect
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
|
|
||||||
from pages import access
|
from pages import access
|
||||||
from .help import actionbar as actionbar_add_help
|
from .help import actionbar as actionbar_add_help
|
||||||
import mycreole
|
import mycreole
|
||||||
@ -12,11 +12,7 @@ import pages
|
|||||||
from themes import empty_entry_parameters, gray_icon_url, color_icon_url
|
from themes import empty_entry_parameters, gray_icon_url, color_icon_url
|
||||||
from users.context import menubar as menubar_users
|
from users.context import menubar as menubar_users
|
||||||
|
|
||||||
try:
|
logger = logging.getLogger(settings.ROOT_LOGGER_NAME).getChild(__name__)
|
||||||
from config import APP_NAME as ROOT_LOGGER_NAME
|
|
||||||
except ImportError:
|
|
||||||
ROOT_LOGGER_NAME = 'root'
|
|
||||||
logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__)
|
|
||||||
|
|
||||||
ATTACHMENT_UID = 'attachment'
|
ATTACHMENT_UID = 'attachment'
|
||||||
BACK_UID = 'back'
|
BACK_UID = 'back'
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
from django.conf import settings
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse, HttpResponseRedirect
|
from django.http import HttpResponse, HttpResponseRedirect
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
@ -15,11 +16,7 @@ import mycreole
|
|||||||
from .page import creol_page
|
from .page import creol_page
|
||||||
from themes import Context
|
from themes import Context
|
||||||
|
|
||||||
try:
|
logger = logging.getLogger(settings.ROOT_LOGGER_NAME).getChild(__name__)
|
||||||
from config import APP_NAME as ROOT_LOGGER_NAME
|
|
||||||
except ImportError:
|
|
||||||
ROOT_LOGGER_NAME = 'root'
|
|
||||||
logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
def root(request):
|
def root(request):
|
||||||
|
128
piki/settings.py
128
piki/settings.py
@ -10,10 +10,10 @@ For the full list of settings and their values, see
|
|||||||
https://docs.djangoproject.com/en/5.1/ref/settings/
|
https://docs.djangoproject.com/en/5.1/ref/settings/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import config
|
|
||||||
from config import APP_NAME as ROOT_LOGGER_NAME
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
import config
|
||||||
|
import os
|
||||||
import random
|
import random
|
||||||
import stat
|
import stat
|
||||||
import sys
|
import sys
|
||||||
@ -21,40 +21,6 @@ import sys
|
|||||||
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
# Build paths inside the project like this: BASE_DIR / 'subdir'.
|
||||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||||
|
|
||||||
# Check permission of config.py
|
|
||||||
#
|
|
||||||
if sys.platform == 'linux' or sys.platform == 'linux2':
|
|
||||||
st = os.stat(os.path.join(BASE_DIR, 'config.py'))
|
|
||||||
if st.st_mode & stat.S_IRGRP or st.st_mode & stat.S_IROTH:
|
|
||||||
raise PermissionError("conig.py is readable by group or others.")
|
|
||||||
|
|
||||||
# Default values, if not defined in config.py
|
|
||||||
#
|
|
||||||
USER_CONFIG_DEFAULTS = {
|
|
||||||
'DEBUG': False,
|
|
||||||
'SECRET_KEY': None,
|
|
||||||
'DEFAULT_THEME': 'clear-blue',
|
|
||||||
'ALLOWED_HOSTS': ['127.0.0.1', 'localhost', ],
|
|
||||||
'CSRF_TRUSTED_ORIGINS': [],
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set configuration parameters
|
|
||||||
#
|
|
||||||
thismodule = sys.modules[__name__]
|
|
||||||
for property_name in USER_CONFIG_DEFAULTS:
|
|
||||||
try:
|
|
||||||
value = getattr(config, property_name)
|
|
||||||
except AttributeError:
|
|
||||||
value = USER_CONFIG_DEFAULTS[property_name]
|
|
||||||
setattr(thismodule, property_name, value)
|
|
||||||
|
|
||||||
# SECURITY WARNING: keep the secret key used in production secret!
|
|
||||||
#
|
|
||||||
if SECRET_KEY is None:
|
|
||||||
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
|
|
||||||
s_key = ''.join([random.choice(chars) for n in range(50)])
|
|
||||||
secret_key_warning = "You need to create a config.py file including at least a SECRET_KEY definition (e.g.: --> %s <--). " % repr(s_key)
|
|
||||||
raise KeyError(secret_key_warning)
|
|
||||||
|
|
||||||
# Quick-start development settings - unsuitable for production
|
# Quick-start development settings - unsuitable for production
|
||||||
# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/
|
# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/
|
||||||
@ -148,8 +114,72 @@ USE_I18N = True
|
|||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
|
||||||
|
# Static files (CSS, JavaScript, Images)
|
||||||
|
# https://docs.djangoproject.com/en/5.1/howto/static-files/
|
||||||
|
STATIC_ROOT = os.path.join(BASE_DIR, 'data', 'static')
|
||||||
|
STATIC_URL = 'static/'
|
||||||
|
|
||||||
|
MEDIA_ROOT = os.path.join(BASE_DIR, 'data', 'media')
|
||||||
|
MEDIA_URL = '/media/'
|
||||||
|
|
||||||
|
MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
||||||
|
MYCREOLE_ATTACHMENT_ACCESS = {
|
||||||
|
'read': 'pages.access.read_attachment',
|
||||||
|
'modify': 'pages.access.modify_attachment',
|
||||||
|
}
|
||||||
|
MYCREOLE_BAR = {
|
||||||
|
'navibar': 'pages.context.navigationbar',
|
||||||
|
'menubar': 'pages.context.menubar',
|
||||||
|
}
|
||||||
|
|
||||||
|
PAGES_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
||||||
|
|
||||||
|
# Default primary key field type
|
||||||
|
# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field
|
||||||
|
|
||||||
|
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
||||||
|
|
||||||
|
|
||||||
|
# Check permission of config.py
|
||||||
|
#
|
||||||
|
if sys.platform == 'linux' or sys.platform == 'linux2':
|
||||||
|
st = os.stat(os.path.join(BASE_DIR, 'config.py'))
|
||||||
|
if st.st_mode & stat.S_IRGRP or st.st_mode & stat.S_IROTH:
|
||||||
|
raise PermissionError("conig.py is readable by group or others.")
|
||||||
|
|
||||||
|
# Default values, if not defined in config.py
|
||||||
|
#
|
||||||
|
USER_CONFIG_DEFAULTS = {
|
||||||
|
'DEBUG': False,
|
||||||
|
'SECRET_KEY': None,
|
||||||
|
'DEFAULT_THEME': 'clear-blue',
|
||||||
|
'ALLOWED_HOSTS': ['127.0.0.1', 'localhost', ],
|
||||||
|
'CSRF_TRUSTED_ORIGINS': [],
|
||||||
|
}
|
||||||
|
|
||||||
|
# Set configuration parameters
|
||||||
|
#
|
||||||
|
thismodule = sys.modules[__name__]
|
||||||
|
for property_name in USER_CONFIG_DEFAULTS:
|
||||||
|
try:
|
||||||
|
value = getattr(config, property_name)
|
||||||
|
except AttributeError:
|
||||||
|
value = USER_CONFIG_DEFAULTS[property_name]
|
||||||
|
setattr(thismodule, property_name, value)
|
||||||
|
|
||||||
|
# SECURITY WARNING: keep the secret key used in production secret!
|
||||||
|
#
|
||||||
|
if SECRET_KEY is None:
|
||||||
|
chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
|
||||||
|
s_key = ''.join([random.choice(chars) for n in range(50)])
|
||||||
|
secret_key_warning = "You need to create a config.py file including at least a SECRET_KEY definition (e.g.: --> %s <--). " % repr(s_key)
|
||||||
|
raise KeyError(secret_key_warning)
|
||||||
|
|
||||||
|
|
||||||
# Logging Configuration
|
# Logging Configuration
|
||||||
#
|
#
|
||||||
|
ROOT_LOGGER_NAME = 'apps'
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
'version': 1,
|
'version': 1,
|
||||||
'disable_existing_loggers': False,
|
'disable_existing_loggers': False,
|
||||||
@ -186,27 +216,3 @@ File "%(pathname)s", line %(lineno)d, in %(funcName)s
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
# Static files (CSS, JavaScript, Images)
|
|
||||||
# https://docs.djangoproject.com/en/5.1/howto/static-files/
|
|
||||||
|
|
||||||
STATIC_ROOT = os.path.join(BASE_DIR, 'data', 'static')
|
|
||||||
STATIC_URL = 'static/'
|
|
||||||
|
|
||||||
MEDIA_ROOT = os.path.join(BASE_DIR, 'data', 'media')
|
|
||||||
MEDIA_URL = '/media/'
|
|
||||||
|
|
||||||
PAGES_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
|
||||||
|
|
||||||
MYCREOLE_ROOT = os.path.join(BASE_DIR, 'data', 'pages')
|
|
||||||
MYCREOLE_ATTACHMENT_ACCESS = {
|
|
||||||
'read': 'pages.access.read_attachment',
|
|
||||||
'modify': 'pages.access.modify_attachment',
|
|
||||||
}
|
|
||||||
MYCREOLE_BAR = {
|
|
||||||
'navibar': 'pages.context.navigationbar',
|
|
||||||
'menubar': 'pages.context.menubar',
|
|
||||||
}
|
|
||||||
# Default primary key field type
|
|
||||||
# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field
|
|
||||||
|
|
||||||
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
|
|
||||||
|
2
users
2
users
@ -1 +1 @@
|
|||||||
Subproject commit 6b55e81816ace1583051c8c62298c8a7281e2fcb
|
Subproject commit c9532aaf37cc785583d7ffc89d1d2f738985171d
|
Loading…
x
Reference in New Issue
Block a user