75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
|
# System import
|
||
|
import os, secrets, json
|
||
|
from datetime import timedelta
|
||
|
|
||
|
|
||
|
# Lib imports
|
||
|
|
||
|
|
||
|
# Apoplication imports
|
||
|
|
||
|
|
||
|
APP_NAME = ':::APP TITLE:::'
|
||
|
ROOT_FILE_PTH = os.path.dirname(os.path.realpath(__file__))
|
||
|
# This path is submitted as the redirect URI in certain code flows.
|
||
|
# Change localhost%3A6969 to different port accordingly or change to your domain.
|
||
|
REDIRECT_LINK = "http%3A%2F%2Flocalhost%3A6969%2F"
|
||
|
|
||
|
|
||
|
class FileGroups:
|
||
|
videos = ('.mkv', '.avi', '.flv', '.mov', '.m4v', '.mpg', '.wmv', '.mpeg', '.mp4', '.webm')
|
||
|
office = ('.doc', '.docx', '.xls', '.xlsx', '.xlt', '.xltx', '.xlm', '.ppt', 'pptx', '.pps', '.ppsx', '.odt', '.rtf')
|
||
|
images = ('.png', '.jpg', '.jpeg', '.gif', '.ico', '.tga')
|
||
|
text = ('.txt', '.text', '.sh', '.cfg', '.conf')
|
||
|
music = ('.psf', '.mp3', '.ogg', '.flac', '.m4a')
|
||
|
pdf = ('.pdf')
|
||
|
|
||
|
|
||
|
class Config(object):
|
||
|
TITLE = APP_NAME
|
||
|
DEBUG = False
|
||
|
TESTING = False
|
||
|
SECRET_KEY = secrets.token_hex(32)
|
||
|
|
||
|
PERMANENT_SESSION_LIFETIME = timedelta(days = 7).total_seconds()
|
||
|
SQLALCHEMY_DATABASE_URI = "sqlite:///static/db/database.db"
|
||
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||
|
|
||
|
LOGIN_PATH = "FLASK_LOGIN" # Value can be OIDC or FLASK_LOGIN
|
||
|
OIDC_TOKEN_TYPE_HINT = 'access_token'
|
||
|
APP_REDIRECT_URI = REDIRECT_LINK
|
||
|
OIDC_CLIENT_SECRETS = ROOT_FILE_PTH + '/client_secrets.json'
|
||
|
OIDC_ID_TOKEN_COOKIE_SECURE = True
|
||
|
OIDC_REQUIRE_VERIFIED_EMAIL = True
|
||
|
OIDC_USER_INFO_ENABLED = True
|
||
|
OIDC_VALID_ISSUERS = [
|
||
|
'http://localhost:8080/auth/realms/apps',
|
||
|
'https://localhost:443/auth/realms/apps'
|
||
|
]
|
||
|
|
||
|
STATIC_FPTH = ROOT_FILE_PTH + "/static"
|
||
|
FILEGROUPS = FileGroups
|
||
|
VEXTENSION = FileGroups.videos
|
||
|
OEXTENSION = FileGroups.office
|
||
|
IEXTENSION = FileGroups.images
|
||
|
TEXTENSION = FileGroups.text
|
||
|
MEXTENSION = FileGroups.music
|
||
|
PEXTENSION = FileGroups.pdf
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class ProductionConfig(Config):
|
||
|
pass
|
||
|
|
||
|
|
||
|
|
||
|
class DevelopmentConfig(Config):
|
||
|
DEBUG = True
|
||
|
OIDC_ID_TOKEN_COOKIE_SECURE = False
|
||
|
OIDC_REQUIRE_VERIFIED_EMAIL = False
|
||
|
|
||
|
|
||
|
class TestingConfig(Config):
|
||
|
TESTING = True
|