config.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. from pathlib import Path
  2. from dataclasses import dataclass
  3. @dataclass
  4. class MailConfig:
  5. server: str
  6. port: int
  7. secure: str
  8. username: str
  9. password: str
  10. email: str
  11. class config:
  12. cognos_dir = 'C:\\Program Files (x86)\\Cognos\\cer5\\bin'
  13. kunde: str
  14. versand_separat = False
  15. cognos_url: str
  16. def __init__(self):
  17. cfg = {}
  18. self.tools_dir = Path(__file__).parent
  19. if self.tools_dir.parent.name.lower() == 'python':
  20. # development
  21. self.portal_dir = str(self.tools_dir.parent)
  22. else:
  23. self.portal_dir = str(self.tools_dir.parent.parent.parent)
  24. self.system_dir = self.portal_dir + '\\System'
  25. self.tasks_dir = self.portal_dir + '\\Tasks'
  26. self.xml_dir = self.tasks_dir + '\\config'
  27. self.log_dir = self.tasks_dir + '\\logs'
  28. with open(self.tasks_dir + '\\GAPS.ini', 'r') as stream:
  29. for line in stream.readlines():
  30. if '=' in line:
  31. key, value = line.split('=')
  32. cfg[key] = value.replace('"', '').replace('\n', '')
  33. self.kunde = cfg.get('KUNDE', 'Test')
  34. self.system = cfg.get('SYSTEM', '')
  35. if self.system != '':
  36. self.system_dir += '\\' + self.system
  37. self.cognos_url = cfg.get('COGNOS_URL', 'http://localhost:9300/bi/')
  38. self.smtp = MailConfig(**{
  39. 'server': 'smtp.ionos.de',
  40. 'port': '465',
  41. 'secure': 'ssl',
  42. 'username': 'versand@global-cube.de',
  43. 'password': 'gc01smtp',
  44. 'email': 'versand@global-cube.de'
  45. })
  46. if cfg.get('SMTP_HOST') is not None:
  47. secure = {'': '', 'N': '', 'J': 'ssl', 'SSL': 'ssl', 'TLS': 'tls'}
  48. self.smtp = MailConfig(
  49. server=cfg.get('SMTP_HOST'),
  50. port=cfg.get('SMTP_PORT'),
  51. secure=secure[cfg.get('SMTP_SSL', '')],
  52. username=cfg.get('SMTP_USER'),
  53. password=cfg.get('SMTP_PW'),
  54. email=cfg.get('SMTP_FROM'),
  55. )
  56. self.versand_separat = cfg.get('VERSAND_SEPARAT') == 'J'