<commit_before>import os
import sys
from celery.schedules import crontab
from datetime import timedelta

TESTING = 'test' in sys.argv

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '{{ openwisp2_secret_key }}'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = [
    '{{ inventory_hostname }}',
{% for host in openwisp2_allowed_hosts %}
    '{{ host }}',
{% endfor %}
]

# Application definition

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.gis',
    # all-auth
    'django.contrib.sites',
    # overrides allauth templates
    # must precede allauth
    'openwisp_users.accounts',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'django_extensions',
    # openwisp2 modules
    'openwisp_users',
    'openwisp_controller.pki',
    'openwisp_controller.config',
    'openwisp_controller.geo',
    'openwisp_controller.connection',
{% if openwisp2_controller_subnet_division %}
    'openwisp_controller.subnet_division',
{% endif %}
{% if openwisp2_monitoring %}
    'openwisp_monitoring.monitoring',
    'openwisp_monitoring.device',
    'openwisp_monitoring.check',
    'nested_admin',
{% endif %}
    'openwisp_notifications',
    'flat_json_widget',
{% if openwisp2_network_topology %}
    'openwisp_network_topology',
{% endif %}
{% if openwisp2_firmware_upgrader %}
    'openwisp_firmware_upgrader',
{% endif %}
    'openwisp_ipam',
    # openwisp2 admin theme
    # (must be loaded here)
    'openwisp_utils.admin_theme',
    # admin
    'django.contrib.admin',
    'django.forms',
    # other dependencies
    'sortedm2m',
    'reversion',
    'leaflet',
    'rest_framework',
    'rest_framework_gis',
    'rest_framework.authtoken',
    'django_filters',
{% if openwisp2_radius %}
    'dj_rest_auth',
    'dj_rest_auth.registration',
    'openwisp_radius',
{% endif %}
{% if openwisp2_firmware_upgrader or openwisp2_radius %}
    'private_storage',
{% endif %}
    'drf_yasg',
    'channels',
    'pipeline',
{% for app in openwisp2_extra_django_apps %}
    '{{ app }}',
{% endfor %}
{% if openwisp2_sentry.get('dsn') %}
    'raven.contrib.django.raven_compat',
{% endif %}
]

EXTENDED_APPS = [
    'django_x509',
    'django_loci',
]

{% if openwisp2_firmware_upgrader or openwisp2_radius %}
PRIVATE_STORAGE_ROOT = os.path.join(BASE_DIR, 'private')
{% endif %}<commit_msg>[fix] Fixed placement of "openwisp_radius" in INSTALLED_APPS<commit_after>import os
import sys
from celery.schedules import crontab
from datetime import timedelta

TESTING = 'test' in sys.argv

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '{{ openwisp2_secret_key }}'

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = [
    '{{ inventory_hostname }}',
{% for host in openwisp2_allowed_hosts %}
    '{{ host }}',
{% endfor %}
]

# Application definition

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.gis',
    # all-auth
    'django.contrib.sites',
    # overrides allauth templates
    # must precede allauth
    'openwisp_users.accounts',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'django_extensions',
    # openwisp2 modules
    'openwisp_users',
    'openwisp_controller.pki',
    'openwisp_controller.config',
    'openwisp_controller.geo',
    'openwisp_controller.connection',
{% if openwisp2_controller_subnet_division %}
    'openwisp_controller.subnet_division',
{% endif %}
{% if openwisp2_monitoring %}
    'openwisp_monitoring.monitoring',
    'openwisp_monitoring.device',
    'openwisp_monitoring.check',
    'nested_admin',
{% endif %}
    'openwisp_notifications',
    'flat_json_widget',
{% if openwisp2_network_topology %}
    'openwisp_network_topology',
{% endif %}
{% if openwisp2_firmware_upgrader %}
    'openwisp_firmware_upgrader',
{% endif %}
    'openwisp_ipam',
{% if openwisp2_radius %}
    'dj_rest_auth',
    'dj_rest_auth.registration',
    'openwisp_radius',
{% endif %}
    # openwisp2 admin theme
    # (must be loaded here)
    'openwisp_utils.admin_theme',
    # admin
    'django.contrib.admin',
    'django.forms',
    # other dependencies
    'sortedm2m',
    'reversion',
    'leaflet',
    'rest_framework',
    'rest_framework_gis',
    'rest_framework.authtoken',
    'django_filters',
{% if openwisp2_firmware_upgrader or openwisp2_radius %}
    'private_storage',
{% endif %}
    'drf_yasg',
    'channels',
    'pipeline',
{% for app in openwisp2_extra_django_apps %}
    '{{ app }}',
{% endfor %}
{% if openwisp2_sentry.get('dsn') %}
    'raven.contrib.django.raven_compat',
{% endif %}
]

EXTENDED_APPS = [
    'django_x509',
    'django_loci',
]

{% if openwisp2_firmware_upgrader or openwisp2_radius %}
PRIVATE_STORAGE_ROOT = os.path.join(BASE_DIR, 'private')
{% endif %}
{'fraction_non_alphanumeric': 0.13227415481248844, 'fraction_numerical': 0.007020136707925365, 'mean_word_length': 4.064546304957904, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '498894', 'n_tokens_mistral': 2034, 'n_tokens_neox': 1897, 'n_words': 336}