Ver código fonte

APPDATA Folder structure check and creation

oscarleiva 5 anos atrás
pai
commit
3d2a92f19a
3 arquivos alterados com 37 adições e 13 exclusões
  1. 26 0
      common/data.py
  2. 8 8
      common/log.py
  3. 3 5
      main.py

+ 26 - 0
common/data.py

@@ -0,0 +1,26 @@
+'''
+    Application Data functions
+'''
+
+import os
+
+__APPFOLDER = os.path.expandvars(r'%LOCALAPPDATA%\Merelec\Simsdt')
+__CACHE = f'{__APPFOLDER}\cache'
+__DATA = f'{__APPFOLDER}\data'
+__CONFIG = f'{__APPFOLDER}\config'
+
+
+def check_appdata_folders():
+
+    if not os.path.exists(__APPFOLDER):
+        os.makedirs(__APPFOLDER)
+        os.makedirs(__CACHE)
+        os.makedirs(__DATA)
+        os.makedirs(__CONFIG)
+    else:
+        if not os.path.exists(__CACHE):
+            os.makedirs(__CACHE)
+        if not os.path.exists(__DATA):
+            os.makedirs(__DATA)
+        if not os.path.exists(__CONFIG):
+            os.makedirs(__CONFIG)

+ 8 - 8
common/log.py

@@ -4,13 +4,13 @@
 import logging
 from logging.handlers import RotatingFileHandler
 
-fh = RotatingFileHandler(
-    'log/simsdt_app_monitor.log', maxBytes=1024*50, backupCount=10)
-fmt = logging.Formatter(
+_fh = RotatingFileHandler(
+    'log/simsdt_app_monitor.log', maxBytes=1024*50, backupCount=10, encoding='utf-8')
+_fmt = logging.Formatter(
     '%(asctime)s - %(name)s - %(levelname)s - %(message)s', datefmt='%Y-%m-%dT%H:%M:%S')
-fh.setFormatter(fmt)
-fh.setLevel(logging.INFO)
+_fh.setFormatter(fmt)
+_fh.setLevel(logging.INFO)
 
-main_logger = logging.getLogger('simsdt')
-main_logger.addHandler(fh)
-main_logger.setLevel(logging.INFO)
+logger = logging.getLogger('simsdt')
+logger.addHandler(_fh)
+logger.setLevel(logging.INFO)

+ 3 - 5
main.py

@@ -1,15 +1,13 @@
 
-import logging
 import tkinter as tk
 
-from common import log
+from common import data, log
 from ui.app import App
 
-logger = logging.getLogger('simsdt')
-
 
 def main():
-    logger.info('SimSDT ha iniciado')
+    log.logger.info('SimSDT ha iniciado')
+    data.check_appdata_folders()
     root = tk.Tk()
     app = App(root)
     app.root.mainloop()