# -*- coding: utf-8 -*-

# Django settings for pv project.

import os.path

# Paths

PROJECT_DIR = os.path.dirname(__file__)

LOCALE_PATHS = (
    os.path.join(PROJECT_DIR, 'locale'),
)

MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media')
MEDIA_URL = '/site_media/'

STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
STATIC_URL = '/static/'

ROOT_URLCONF = 'pv.urls'

DEBUG = True
SITE_ID = 1
ADMINS = ()
MANAGERS = ADMINS

# Must be set if DEBUG is False
ALLOWED_HOSTS = ['127.0.0.1', 'localhost']

# Whitelist IPs that access the API
CORS_ORIGIN_WHITELIST = (
   'localhost',
   'localhost:8080'
)


# Define which database backend to use for our apps
DATABASES = {
    # SQLITE
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(PROJECT_DIR, 'dev_data.sqlite'),
    },

    """
    # MySQL
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {
            'read_default_file': os.path.join(PROJECT_DIR, 'mysql.cnf'),
        },
    }
    """
    # Deprecated
    'nop': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(PROJECT_DIR, 'dev_nop.sqlite'),
    },

}

CACHE_BACKEND = 'locmem://'

# LOCALIZATION
TIME_ZONE = 'Europe/Vienna'
LANGUAGE_CODE = 'de'
USE_I18N = True
USE_L10N = True

SECRET_KEY = ''

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(PROJECT_DIR, 'templates')
        ],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.i18n',
                'django.template.context_processors.media',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

MIDDLEWARE = (
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
)

REST_FRAMEWORK = {
    # Use Django's standard `django.contrib.auth` permissions,
    # or allow read-only access for unauthenticated users.
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
    ],
    'DEFAULT_AUTHENTICATION_CLASSES': [
        'program.auth.OidcOauth2Auth',
    ],
}

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.admin',
    'django.contrib.staticfiles',
    'program',
    'nop', # Deprecated
    'profile',
    'tinymce',
    'versatileimagefield',
    'rest_framework',
    'rest_framework_nested',
    'frapp',
    'oidc_provider',
    'corsheaders',
)

# Set the desired sizes for your thumbnails (px)
# Will apply to all uploaded images
THUMBNAIL_SIZES = ['640x480', '200x200', '150x150']

#TINYMCE_JS_URL = '/static/js/tiny_mce/tiny_mce.js'
TINYMCE_DEFAULT_CONFIG = {
    #'plugins': 'contextmenu',
    'selector': 'textarea',
    'theme': 'advanced',
    'theme_advanced_toolbar_location': 'top',
    'theme_advanced_buttons1' : 'bold,italic,underline,separator,bullist,numlist,separator,link,unlink,separator,undo,redo,separator,formatselect',
    'theme_advanced_blockformats': 'p,h1,h2,h3,blockquote',
    'theme_advanced_font_sizes': '14px,16px',
    'cleanup_on_startup': True,
    'width': 620,
    'height': 400,
}


# When generating schedules/timeslots:
# If until date wasn't set manually, add x days to the start date
AUTO_SET_UNTIL_DATE_TO_DAYS_IN_FUTURE = 365

# If until date wasn't set manually, auto-set it to December 31 of the current year
# Overrides the above setting if True
AUTO_SET_UNTIL_DATE_TO_END_OF_YEAR = True

# The station's fallback playlist ID
# If there's no program, this playlist will be aired as a backup
STATION_FALLBACK_ID = None

# URL to CBA - Cultural Broadcasting Archive
CBA_URL = 'https://cba.fro.at'

# Contact cba@fro.at to get whitelisted and get an API KEY
# Leave empty to disable requests to CBA
CBA_API_KEY = ''

# URL to CBA ajax handler (used for retrieving additional data or increasing stream counter)
CBA_AJAX_URL = CBA_URL + '/wp-admin/admin-ajax.php'

# URL to CBA's REST API with trailing slash
CBA_REST_API_URL = CBA_URL + '/wp-json/wp/v2/'


# OIDC Provider Settings
USE_TZ = True # django-oidc-provider needs timezones in database
LOGIN_URL = '/admin/login/' # Login page OIDC redirects to

#WSGI_APPLICATION = 'pv.wsgi.application';


# Deprecated
DATABASE_ROUTERS = ['nop.dbrouter.NopRouter']
MUSIKPROG_IDS = (
    1,    # unmodieriertes musikprogramm
)
SPECIAL_PROGRAM_IDS = ()



try:
    from .local_settings import *
except ImportError:
    pass