diff --git a/.gitattributes b/.gitattributes index a68beab..9cfc96b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,6 @@ -backend/models/initial_recorders.json filter=openssl diff=openssl -backend/config.py filter=openssl diff=openssl +backend/models/initial_recorders.json filter=git-crypt diff=git-crypt +#backend/models/initial_recorders.json filter=openssl diff=openssl +backend/config.py filter=git-crypt diff=git-crypt +#backend/config.py filter=openssl diff=openssl [merge] renormalize=true diff --git a/backend/config.py b/backend/config.py index d191a36..46cbba4 100644 --- a/backend/config.py +++ b/backend/config.py @@ -1,85 +1,136 @@ -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 +# -*- coding: utf-8 -*- +# .... +# available languages +import os +import logging + +logger = logging.getLogger(__name__) + +basedir = os.path.abspath(os.path.dirname(__file__)) +logs_dir = os.path.join(basedir, os.path.pardir, 'logs') + +if not os.path.exists(logs_dir): + print("creating logs dir ...") + os.makedirs(logs_dir) + +logger.info("Basedir is: {}".format(basedir)) + + +class Config: + LOG_LEVEL = "DEBUG" + ROOT_LOG_FILE = os.path.join(logs_dir, "root.log") + LOG_FILE = os.path.join(logs_dir, "app.log") + CRON_LOG_FILE = os.path.join(logs_dir, "cron.log") + ERROR_LOG_FILE = os.path.join(logs_dir, "error.log") + + # SERVER_NAME = "ubkaps154.ubka.uni-karlsruhe.de:5443" + # SERVER_NAME = "localhost.dev" + SERVER_NAME = "localhost:5443" + # SERVER_NAME = "localhost" + # SERVER_NAME = "localhost.localdomain" + # PORT = 5443 + # PREFERRED_URL_SCHEME = 'https' + + OPENCAST_URL = "https://opencast.bibliothek.kit.edu" + OPENCAST_USER = "admin" + OPENCAST_PW = "mz.paziuw!" + + TEMPLATE_AUTO_RELOAD = True + + SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db') + SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository') + SQLALCHEMY_TRACK_MODIFICATIONS = True + + WTF_CSRF_ENABLED = True + SECRET_KEY = 'you-will-never-guess' + OPENID_PROVIDERS = [ + {'name': 'Google', 'url': 'https://www.google.com/accounts/o8/id'}, + {'name': 'Yahoo', 'url': 'https://me.yahoo.com'}, + {'name': 'AOL', 'url': 'http://openid.aol.com/'}, + {'name': 'Flickr', 'url': 'http://www.flickr.com/'}, + {'name': 'MyOpenID', 'url': 'https://www.myopenid.com'}] + + OAUTH_CREDENTIALS = { + 'facebook': { + 'id': '1198624176930248', + 'secret': '4fbc01d776834c1ffc89a5bed1cd97d0' + }, + 'twitter': { + 'id': '3RzWQclolxWZIMq5LJqzRZPTl', + 'secret': 'm9TEd58DSEtRrZHpz2EjrV9AhsBRxKMo8m3kuIZj3zLwzwIimt' + }, + 'google': { + 'id': '1084993305658-d9n88548ssrtmt5v6s2dne57i4qpviur.apps.googleusercontent.com', + 'secret': 'oNpvoAKMPMjRyiu5EDrmmX4X' + }, + } + + # mail server settings + MAIL_SERVER = 'localhost' + MAIL_PORT = 25 + MAIL_USERNAME = None + MAIL_PASSWORD = None + + # administrator list + ADMINS = ['you@example.com'] + + # pagination + POSTS_PER_PAGE = 5 + LOCKS_PER_PAGE = 8 + + LANGUAGES = { + 'en': 'English', + 'es': 'EspaƱol' + } + + # ASSETS_DEBUG = True + + # JWT_SECRET = "abcxyz" + # JWT_ALGORITHM = "HS256" + # JWT_EXP_DELTA_SECONDS = 5 * 60 + + JWT_SECRET_KEY = "abcxyz" + JWT_BLACKLIST_ENABLED = True + JWT_BLACKLIST_TOKEN_CHECKS = ['access', 'refresh'] + + AUTH_RETURN_EXTERNAL_JWT = False + + INDEX_TEMPLATE = "index.html" + + # # INITIAL VALUES # # + + PERMISSIONS = ["RECODER_NEW", "RECORDER_EDIT", "RECODER_SHOW", "RECORDER_DELETE", + "RECORDER_COMMAND_EXECUTE", "RECORDER_COMMAND_EDIT_ACL", + "VIRTUAL_COMMAND_CREATE", "VIRTUAL_COMMAND_EDIT", "VIRTUAL_COMMAND_SHOW", "VIRTUAL_COMMAND_DELETE", + "CRON_JOB_CREATE", "CRON_JOB_EDIT", "CRON_JOB_SHOW", "CRON_JOB_DELETE"] + + GROUPS = [ #{"name": "Admins", + #"permissions": PERMISSIONS}, + {"name": "ZML"}, + {"name": "read_only"}] + + USERS = [{"nickname": "admin", + "first_name": "tobias", + "last_name": "kurze", + "email": "kurze@kit.edu", + "role": "admin", + "password": "admin"} + ] + + ROLE_PERMISSION_MAPPINGS = { + "admin": ["ADMIN"] + } + +class ProductionConfig(Config): + DATABASE_URI = 'mysql://user@localhost/foo' + + +class DevelopmentConfig(Config): + SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db_debug') + SERVER_NAME = "ubkaps154.ubka.uni-karlsruhe.de" + PORT = 5443 + DEBUG = True + +class TestingConfig(Config): + SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.db_test') + TESTING = True diff --git a/backend/models/initial_recorders.json b/backend/models/initial_recorders.json index 6d24a36..2737753 100644 --- a/backend/models/initial_recorders.json +++ b/backend/models/initial_recorders.json @@ -1,204 +1,287 @@ -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 +{ + "recorders": [ + { + "name": "CS 50.35 Fasansengarten-H\u00f6rsaal (Hs a.F.)", + "building": "50.35", + "room": "HS Fasanengarten", + "username": "admin", + "password": "lrhsafg+-", + "ip": "129.13.51.82", + "mac": "00:55:56:4d:68:fa", + "type": "VGADVI Recorder", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"006 / 8 L\", \"rsync_name\": \"LRHSAF\"}" + }, + { + "name": "CS 30.21 Gerthsen-H\u00f6rsaal", + "building": "30.21", + "room": "Gerthsen", + "username": "admin", + "password": "lrgerthsen+-", + "ip": "129.13.51.83", + "mac": "00:55:56:69:91:a9", + "type": "VGADVI Recorder", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"003 / 3\", \"rsync_name\": \"LRGerthsen\"}" + }, + { + "name": "CS 10.91 Grashof-H\u00f6rsaal", + "building": "10.91", + "room": "Grashof", + "username": "admin", + "password": "lrgrashof+-", + "ip": "129.13.51.84", + "mac": "00:55:56:78:96:2f", + "type": "LectureRecorder X2", + "additional_camera": false, + "firmware_version": "3.12.0k", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"EDV 6 L\", \"rsync_name\": \"LRGrashof\"}" + }, + { + "name": "CS 50.24 H\u00f6rsaal-101", + "building": "50.24", + "room": "HS-101 (Informatik)", + "username": "admin", + "password": "lr-101+-", + "ip": "129.13.51.85", + "mac": "00:55:56:40:97:2d", + "type": "VGADVI Recorder", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"IT 3.3\", \"rsync_name\": \"LR101\"}" + }, + { + "name": "CS 10.21 Carl-Benz-H\u00f6rsaal", + "building": "10.21", + "room": "Carl-Benz H\u00f6rsaal", + "username": "admin", + "password": "lrbenz+-", + "ip": "129.13.51.87", + "mac": "00:55:56:b3:01:9d", + "type": "LectureRecorder X2", + "additional_camera": false, + "firmware_version": "3.12.0k", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"\", \"rsync_name\": \"LRBenz\"}" + }, + { + "name": "CS 10.21 Gottlieb-Daimler-H\u00f6rsaal", + "building": "10.21", + "room": "Gottlieb-Daimler H\u00f6rsaal", + "username": "admin", + "password": "lrdaimler+-", + "ip": "129.13.51.88", + "mac": "00:55:56:61:47:48", + "type": "DVIRecorderDL", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"\", \"rsync_name\": \"LRDaimler\"}" + }, + { + "name": "CS 10.50 Bauingenieure, Kleiner H\u00f6rsaal", + "building": "10.50", + "room": "Kleiner H\u00f6rsaal Bauingenieure", + "username": "admin", + "password": "lrkleinerhs+-", + "ip": "129.13.51.89", + "mac": "00:55:56:bb:d7:86", + "type": "LectureRecorder", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"\", \"rsync_name\": \"LRkleinerHS\"}" + }, + { + "name": "CS 30.41 Chemie-H\u00f6rsaal Nr.3", + "building": "30.41", + "room": "Chemie \u2013 H\u00f6rsaal 3", + "username": "admin", + "password": "lrhs3+-", + "ip": "129.13.51.91", + "mac": "00:55:56:f1:7c:84", + "type": "LectureRecorder X2", + "additional_camera": false, + "firmware_version": "3.12.0k", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"\", \"rsync_name\": \"LRHS3\"}" + }, + { + "name": "CS 10.91 Redtenbacher-H\u00f6rsaal", + "building": "10.91", + "room": "Redtenbacher H\u00f6rsaal", + "username": "admin", + "password": "lrredtenbacher+-", + "ip": "129.13.51.79", + "mac": "00:55:56:75:29:19", + "type": "VGADVI Recorder", + "additional_camera": false, + "firmware_version": "2.5.0f", + "description": "{\"comment\": \"pyCA v2.1\", \"network_port\": \"\", \"rsync_name\": \"Redtenbacher_HS\"}" + }, + { + "name": "CS 10.50 Bauingenieure Grosser Hoersaal", + "building": "10.50", + "room": "Grosser H\u00f6rsaal Bauingenieure", + "username": "admin", + "password": "smpgrosserhs", + "ip": "129.13.51.101", + "mac": "", + "type": "SMP 351", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"SMP 351 \\u2013SDI Eingang (Channel B) / ZML \\u2013 Axel\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 30.95 Forum Hoersaal Audimax", + "building": "30.95", + "room": "Audimax", + "username": "admin", + "password": "smpaudimax", + "ip": "129.13.51.102", + "mac": "00-05-A6-11-E2-6D", + "type": "SMP 351", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"SMP 351 \", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 30.46 Chemie Neuer Hoersaal", + "building": "30.46", + "room": "Chemie Neuer H\u00f6rsaal", + "username": "admin", + "password": "smpchemie", + "ip": "129.13.51.103", + "mac": "00-05-A6-12-CE-E0", + "type": "SMP 351", + "additional_camera": true, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"Dual Link License\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 30.10 Nachrichtentechnik-Hoersaal NTI", + "building": "30.10", + "room": "Nachrichtentechnik HS NTI", + "username": "admin", + "password": "smpnti", + "ip": "129.13.51.104", + "mac": "00-05-A6-12-6A-C9", + "type": "SMP 351", + "additional_camera": true, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"Dual Link License\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 40.50 EBI Hoersaal", + "building": "40.50", + "room": "Engler Bunte H\u00f6rsaal RBI", + "username": "admin", + "password": "smpebi", + "ip": "129.13.51.105", + "mac": "00-05-A6-14-77-E6", + "type": "SMP 351", + "additional_camera": true, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"Dual Link License\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 11.40 Johann-Gottfried-Tulla-Hoersaal", + "building": "11.40", + "room": "Tulla H\u00f6rsaal", + "username": "admin", + "password": "smptulla", + "ip": "129.13.51.106", + "mac": "00-05-A6-14-D6-47", + "type": "SMP 351", + "additional_camera": true, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"Dual Link License\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 30.22 Otto-Lehmann-Hoersaal - Mittl. HS", + "building": "30.22", + "room": "Physik Otto-Lehmann H\u00f6rsaal", + "username": "admin", + "password": "smplehmann", + "ip": "129.13.51.107", + "mac": "00-05-A6-14-DD-0D", + "type": "SMP 352", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"2 Projektionen \", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 30.22 Gaede-Hoersaal", + "building": "30.22", + "room": "Physik Gaede H\u00f6rsaal", + "username": "admin", + "password": "smpgaede", + "ip": "129.13.51.108", + "mac": "00-05-A6-17-EF-5F", + "type": "SMP351 + DLL", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"2 Projektionen \", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "CS 10.11 Hertz-Hoersaal", + "building": "10.11", + "room": "Hertz \u2013 H\u00f6rsaal", + "username": "admin", + "password": "smphertz", + "ip": "129.13.51.109", + "mac": "00-05-A6-18-41-C7", + "type": "SMP 351", + "additional_camera": true, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"Dual Link License\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "Campus Ost 70.04 SR219", + "building": "70.04", + "room": "CO 70.04 SR219", + "username": "admin", + "password": "7004sr219smp", + "ip": "129.13.51.110", + "mac": "00-05-A6-18-41-C2", + "type": "SMP 351", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"FAST Gauterin\", \"network_port\": \"\", \"rsync_name\": \"\"}" + }, + { + "name": "ILIAS-HS_3", + "building": "30.50", + "room": "Test-LR", + "username": "admin", + "password": "lrgrashof+-", + "ip": "172.23.8.102", + "mac": "00:55:56:f4:88:e1", + "type": "DVI Broadcaster DL", + "additional_camera": false, + "firmware_version": "3.12.0k", + "description": "{\"comment\": \"von Axel\", \"network_port\": \"MZ\", \"rsync_name\": \"\"}" + }, + { + "name": "Opencast-qa: Test-SMP KIT", + "building": "30.50", + "room": "Test-SMP", + "username": "admin", + "password": "123mzsmp", + "ip": "172.22.246.207", + "mac": "00-05-A6-16-A3-E4", + "type": "SMP352", + "additional_camera": false, + "firmware_version": "2.11b0", + "description": "{\"comment\": \"von FM\", \"network_port\": \"MZ\", \"rsync_name\": \"\"}" + } + ], + "types": { + "smp": { + "protocol": "telnet", + "port": 23 + }, + "epiphan": { + "protocol": "http", + "port": 80 + } + } +}