# coding=utf-8
#
#

ret = '\r'   # Carrige Return
lf  = '\n'   # Line Feed
cr  = '\r'

DefSKPort  = 9731
DefSSLPort = 9732
DefMDPort  = 9731
JunkSize   = 1024 * 60        # = 20 KB Junk Size ( muss kleiner 65 KB sein, der Rest ist eigentlich Egal )
uploadtimeout = 4             # in Sekunden
defResetTime = 45             # in Minuten
defTokenTime = 10             # in Minuten, danach wird Token gelöscht
defBesetztTime= 2             # in Minuten
defTerminateCollectTime = 5   # in Minuten
defTerminateTransferTime = 5   # in Minuten
defTokenLaenge = 10           # Anzahl in alphanum-Zeichen
defKeyLaenge   = 20           # Anzahl in alphanum-Zeichen
DefAdminUsers = 'pgmadmin,global-admin'

defSocketTimeout_CL =  200      # in Millisekunden
defTCPtimeout_CL    =  500      # in Millisekunden
defDelayTime        =  100      # in Millisekunden

msg_INOF   = 'INOF';    msg_INON   = 'INON'   # Internet On/Off
msg_IROF   = 'IROF';    msg_IRON   = 'IRON'   # Intranet On/Off
msg_UFOF   = 'UFOF';    msg_UFON   = 'UFON'   # URL-Filter On/Off
msg_DROF   = 'DROF';    msg_DRON   = 'DRON'   # Raum-Drucker On/Off
msg_WLOF   = 'WLOF';    msg_WLON   = 'WLON'   # WLAN fuer Gruppe On/Off

msg_GRST   = 'GRST'  # Get Room Default Status im akt. Raum
msg_SRST   = 'SRST'   # Set Room Default
msg_GROO   = 'GROO'   # Get alle PCs in akt. Raum: PC-Name,IP,MAC
msg_GDRU   = 'GDRU'   # Get alle Drucker des Raums
msg_GIPS   = 'GIPS'   # Get alle IPs im akt. Raum
msg_AUTH   = 'AUTH'   # Credentials überprüfen: OK|DENY
msg_RWOL   = 'RWOL'   # Wake On Lan für akt. Raum
msg_SAUT   = 'SAUT'   # Credentials von Schueler überprüfen: <Klasse>|DENY
msg_SPWD   = 'SPWD'   # Password setzen für Klasse der Userlist

msg_GDST   = 'GDST'   # Get Drucker Status - Erster Drucker des Raums: ACCEPT|REJECT
msg_GLIN   = 'GLIN'   # Get Logins der User im Raum über smbstatus

msg_AARA   = 'AARA'   # Austeilen im aktuellen Raum
msg_EARA   = 'EARA'   # Einsammeln und löschen
msg_EARC   = 'EARC'   # Einsammeln Copie

msg_GMDP   = 'GMDP'   # Get MausDienst-Passwort
msg_SMDP   = 'SMDP'   # Set MausDienst-Passwort
msg_GMD5   = 'GMD5'   # Get MausDienst-MD5
msg_GVTP   = 'GVTP'   # Get x11VNC-Text Password
msg_SVTP   = 'SVTP'   # Set x11VNC-Text Password
msg_GVPP   = 'GVPP'   # Get x11VNC-pass Password
#msg_SVPP   = 'SVPP';   # Set x11VNC-pass Password
msg_GDAT   = 'GDAT'   # Get Dateien zum Austeilen
msg_GCLR   = 'GCLR'   # Get Liste der Classrooms
msg_GGRP   = 'GGRP'   # Get Benutzer Gruppen
msg_GKLI   = 'GKLI'   # Get Klassenliste
msg_GTOK   = 'GTOK'   # Get Token
msg_GKEY   = 'GKEY'   # Get Session-Key zum Passwort verschlüsseln

msg_UDAT   = 'UDAT'   # Upload Datei
msg_CDAT   = 'CDAT'   # Lösche Verzeichnis "_auszuteilen"

msg_SLRO   = 'SLRO'   # Bildschirme im Raum sperren
msg_SURO   = 'SURO'   # Bildschirme im Raum entsperren
msg_SLPC   = 'SLPC'   # Bildschirme von IPs sperren
msg_SUPC   = 'SUPC'   # Bildschirme von IPs entsperren

msg_SLRU   = 'SLRU'   # Bildschirme im Raum sperren         mit Uhr
msg_SLPU   = 'SLPU'   # Bildschirme von IPs sperren         mit Uhr

msg_NAPC   = 'NAPC'   # Nachricht an PCs senden
msg_EXPC   = 'EXPC'   # Befehl/URL an PCs senden

msg_POPC   = 'POPC'   # Power Off an PCs senden
msg_REPC   = 'REPC'   # Reboot an PCs senden
msg_LOPC   = 'LOPC'   # Log out an PCs senden
msg_DISC   = 'DISC'   # Disconnect TCP
msg_LOGG   = 'LOGG'   # Logging Text vom Client zum Server

msg_sperren   = 'SPER'
msg_sperrenu  = 'SPEU'     # mit Uhr
msg_freigeben = 'FREI'
msg_nachricht = 'NACH'
msg_befehl    = 'BEFE'
msg_poweroff  = 'POFF'
msg_reboot    = 'REBO'
msg_logout    = 'LOUT'
msg_logging   = 'LOGG'

tag_Antwort = 'ANTWORT'
tag_Befehl  = 'BEFEHL'
tag_Raum    = 'RAUM'
tag_Raum2   = 'RAUM2'
tag_Benutzer= 'BENUTZER'
tag_Pass    = 'PASS'
tag_Text    = 'TEXT'
tag_REG     = 'REG'
tag_ID      = 'ID'
tag_Datei   = 'DATEI'      # tag für Filesize
tag_Dateiname='DATEINAME'
tag_Model   = 'MODEL'
tag_STARTE  = 'STARTE'
tag_ENDE    = 'ENDE'
tag_Token   = 'TOKEN'
tag_TokenTime= 'TOKENTIME'
tag_UserList= 'USERLIST'
tag_lmn7    = 'LMN7'
tag_MDPW     ='MDPW'
tag_MDP5     ='MDP5'
tag_VNCT     ='VNCTextPW'
tag_VNCP     ='VNCPass'
tag_Display  ='DISPLAY'
tag_NewPass  ='NEWPASS'
tag_Anzahl   ='ANZAHL'
####################################################################
Programm_sec  = 'Programm'
####################################################################
Port_entry    = 'Port'
MDPort_entry  = 'MDPort'
SSLPort_entry = 'SSLPort'
UseSSL_entry  = 'UseSSL'
UseLog_entry  = 'UseLog'
UseAuth_entry = 'UseAuth'
MenuePass_entry = 'MenuePasswordVisible'
UseToken_entry  = 'UseToken'
InternetSperreClients_entry = 'InternetSperreClients'
MDUseAuth_entry = 'MDUseAuth'
debug_entry   = 'debug'
verbose_entry = 'verbose'

LogPfad_entry = 'LogPfad'
AdminUsers_entry   = 'AdminUsers'
ExtraTeachers_entry= 'ExtraTeachers'
DisableTeacherSperre_entry = 'DisableTeacherSperre'
MDPfad_entry  = 'MDPfad'
MD5Pfad_entry = 'MD5Pfad'
VNCTextPfad_entry = 'VNCTextPfad'
VNCPassPfad_entry = 'VNCPassPfad'
KeyFilePfad_entry = 'SSLKeyFilePfad'
CAFilePfad_entry  = 'SSLCAFilePfad'
ResetTime_entry = 'ResetTime'
TokenTime_entry = 'TokenTime'
BesetztTime_entry='BesetztTime'
TerminateCollectTime_entry ='TerminateCollectTime'
TerminateTransferTime_entry ='TerminateTransferTime'
WOLDelay_entry  = 'WOLDelay'
WOLCommand_entry= 'WOLCommand'
LF_entry        = 'useLineFeed'
onlyCL_entry    = 'onlyClassrooms'
timezone_entry  = 'timezone'
TimerIntervall_entry= 'TimerIntervall'

UseTeacherPrefix_entry = 'EinAusTeacherPrefix'
UseSophomorix_entry = 'UseSophomorix'
AE_BasisPfad_entry     = 'EinAusBasisPfad'
SchoolBasisPfad_entry  = 'SchoolBasisPfad'
EinGePfad_entry = 'EingesammeltPfad'
EinZuPfad_entry = 'EinzusammelnPfad'
AusZuPfad_entry = 'AuszuteilenPfad'
AusGePfad_entry = 'AusgeteiltPfad'
DefUseTeacherPrefix = True
DefUseSophomorix = False
DefAE_BasisPfad     = 'transfer/'
DefSchoolBasisPfad  = '/srv/samba/schools/default-school/'
# Leher-Pfade
DefAusZuPfad        = '_Auszuteilen/'
DefEinGePfad        = 'collected/'
# Schueler Pfade
DefAusGePfad        = '_Materialien/'
DefEinZuPfad        = '_Materialien/'

SocketTimeout_CL_entry = 'SocketTimeout_CL'
DelayTime_entry        = 'Netzwerk_DelayTime'

Config_Pfad         = '/etc/linuxmuster/maus/schukodaemon.cfg'
# Config_Pfad         = '/root/schukodaemon.cfg'          # zu Testzwecken
DefKeyFile_Pfad     = '/etc/linuxmuster/maus/sk.key'
DefCAFile_Pfad      = '/etc/linuxmuster/maus/sk.cert'


Attribut_studentcomputer = 'classroom-studentcomputer'
Attribut_teachercomputer = 'classroom-teachercomputer'
Attribut_printer         = 'printer'

DefLog_Pfad         = '/var/log/linuxmuster/schukodaemon.log'
Printers_Pfad       = '/etc/linuxmuster/printers'            #lmn6, bei lmn7 nicht verwendet
Room_Defaults_Pfad  = '/etc/linuxmuster/room_defaults'         #lmn6 + 7
Classrooms_Pfad     = '/etc/linuxmuster/classrooms'            #lmn6, bei lmn7 nicht verwendet
#Classrooms_Pfad     = 'classrooms'

IN_Script_Pfad      = '/usr/share/linuxmuster/scripts/internet_on_off.sh'
IR_Script_Pfad      = '/usr/share/linuxmuster/scripts/intranet_on_off.sh'
UF_Script_Pfad      = '/usr/share/linuxmuster/scripts/urlfilter_on_off.sh'
WLAN_Script_Pfad    = '/usr/sbin/wlan_on_off'  #perl-script
Austeilen_Script_Pfad='/usr/bin/sophomorix-teacher'
Helperfunction_Pfad = '/usr/share/linuxmuster/scripts/helperfunctions.sh'
DistConf_Pfad       = '/usr/share/linuxmuster/config/dist.conf'
Session_Pfad        = '/var/lib/schulkonsole/'

Soph_mana_script_Pfad   = '/usr/sbin/sophomorix-managementgroup'
Soph_passwd_script_Pfad = '/usr/sbin/sophomorix-passwd'
Soph_query_script_Pfad  = '/usr/sbin/sophomorix-query'
Soph_transfer_script_Pfad  = '/usr/sbin/sophomorix-transfer'
x11vnc_Pfad             = '/usr/bin/x11vnc'
remmina_Pfad            = '/usr/bin/remmina'

Workstations_Pfad6  = '/etc/linuxmuster/workstations'
DefMD_Pfad6         = '/etc/linuxmuster/maus/md.pass'
DefMD5_Pfad6        = '/home/samba/progs/mausdienst/md.md5'
DefvncText_Pfad6    = '/etc/linuxmuster/maus/x11vnc.text'
DefvncPass_Pfad6    = '/etc/linuxmuster/maus/x11vnc.pass'
DefTeacher_Pfad6    = '/home/teachers/'

Workstations_Pfad7  = '/etc/linuxmuster/sophomorix/default-school/devices.csv'
DefMD_Pfad7         = '/etc/linuxmuster/maus/md.pass'
DefMD5_Pfad7        = '/srv/samba/schools/default-school/program/mausdienst/md.md5'
DefVNCText_Pfad7    = '/etc/linuxmuster/maus/x11vnc.text'
DefVNCPass_Pfad7    = '/etc/linuxmuster/maus/x11vnc.pass'


UseSophPasswd       = False  # Abfrage ueber Sophomorix-passwd (True -> langsam) oder wbinfo (schnell)

def_WOL             = 'wakeonlan'

ManaOption= {msg_INON: '--internet', msg_INOF: '--nointernet', msg_IRON: '--intranet', msg_IROF: '--nointranet',
             msg_UFON: '--webfilter', msg_UFOF: '--nowebfilter', msg_DRON: '--printing', msg_DROF: '--noprinting'}

msg_client= {msg_SLPC: msg_sperren, msg_SLPU: msg_sperrenu, msg_SUPC: msg_freigeben, msg_NAPC: msg_nachricht,
             msg_EXPC: msg_befehl, msg_POPC: msg_poweroff, msg_REPC: msg_reboot, msg_LOPC: msg_logout}
