from pathlib import Path from dataclasses import dataclass @dataclass class MailConfig: server: str port: int secure: str username: str password: str email: str class config: cognos_dir = 'C:\\Program Files (x86)\\Cognos\\cer5\\bin' kunde = 'Test' versand_separat = False def __init__(self): cfg = {} self.tools_dir = Path('.').absolute() if self.tools_dir.parent.name.lower() == 'python': # development self.portal_dir = str(self.tools_dir) else: self.portal_dir = str(self.tools_dir.parent.parent.parent) self.system_dir = self.portal_dir + '\\System' self.tasks_dir = self.portal_dir + '\\Tasks' self.xml_dir = self.tasks_dir + '\\config' self.log_dir = self.tasks_dir + '\\logs' with open(self.tasks_dir + '\\GAPS.ini', 'r') as stream: for line in stream.readlines(): if '=' in line: key, value = line.split('=') cfg[key] = value.replace('"', '').replace('\n', '') self.kunde = cfg.get('KUNDE', 'Test') self.system = cfg.get('SYSTEM', '') if self.system != '': self.system_dir += '\\' + self.system self.smtp = MailConfig(**{ 'server': 'smtp.ionos.de', 'port': '465', 'secure': 'ssl', 'username': 'versand@global-cube.de', 'password': 'gc01smtp', 'email': 'versand@global-cube.de' }) if cfg.get('SMTP_HOST') is not None: secure = {'': '', 'N': '', 'J': 'ssl', 'SSL': 'ssl', 'TLS': 'tls'} self.smtp = MailConfig( server=cfg.get('SMTP_HOST'), port=cfg.get('SMTP_PORT'), secure=secure[cfg.get('SMTP_SSL', '')], username=cfg.get('SMTP_USER'), password=cfg.get('SMTP_PW'), email=cfg.get('SMTP_FROM'), ) self.versand_separat = cfg.get('VERSAND_SEPARAT') == 'J'