added logger and set up settings screen

This commit is contained in:
janis
2022-05-16 17:01:13 +02:00
parent 43341fcc87
commit 355b368b31
6 changed files with 76 additions and 6 deletions

View File

@@ -31,12 +31,10 @@ class TopGamesUpdater:
break
else:
self.__output += self.letter
print(self.__output)
self.__return_value.append(self.__output)
except ValueError:
self.__go = 0
return self.__return_value
TopGamesUpdater().updater()

View File

@@ -0,0 +1,27 @@
import bin.lib.csv_parsers
cvr = bin.lib.csv_parsers.CsvRead()
class OSAssigner:
def __init__(self):
self.__budget = 0
self.__import = []
self.__extracted = ""
self.__price = []
def os_chooser(self, budget, os_choice, os_price_file, availability=False):
self.__budget = budget
self.__import = cvr.importing(os_price_file)
for self.item in self.__import:
self.__price.append(self.item.pop(1))
if os_choice == "Windows 10 Home" or "Windows 11 Home" and availability is False:
self.__budget -= self.__price.pop(0)
elif os_choice == "Windows 10 Pro" or "Windows 11 Pro" and availability is False:
self.__budget -= self.__price.pop(1)
else:
pass
return self.__budget

View File

@@ -2,6 +2,8 @@
This module configures PCs but relies heavily on external modules that are included with the package.
"""
import bin.lib.csv_parsers
import bin.config.os
import bin.config.case
cvr = bin.lib.csv_parsers.CsvRead()
@@ -11,6 +13,11 @@ cvw = bin.lib.csv_parsers.CsvWrite()
class ConfigCreator:
def __init__(self):
self.__info_import = []
self.__budget = 0
self.__os_choice = ""
self.__os_path = ""
def start_config(self, path):
self.__info_import = cvr.importing(path)
self.__budget = bin.config.os.OSAssigner().os_chooser(self.__budget, self.__os_choice, self.__os_path)
self.__budget = bin.config.case

6
config/settings.ini Normal file
View File

@@ -0,0 +1,6 @@
[Info]
version = 0.1
subVersion = -dev1
[Dev Settings]
log_level = DEBUG

View File

@@ -0,0 +1,8 @@
ConfigureScreen:
name: "Settings"
GridLayout:
cols: 1
Button:
text: "back"
on_release:
app.root.current = "HomeScreen"

View File

@@ -1,6 +1,8 @@
# This is the main runtime of the simplePCBuilding-PC-Configurator
# IMPORTS
import time
import datetime
import configparser
import logging
from kivy.uix.screenmanager import ScreenManager
from kivy.uix.popup import Popup
from kivy.lang import Builder
@@ -9,7 +11,26 @@ from kivymd.app import MDApp
from kivymd.uix.screen import MDScreen
from kivy.clock import Clock
version = "alpha 1.0"
config = configparser.ConfigParser()
config.read('./config/settings.ini')
version_app = f"{config['Info']['version']}{config['Info']['subVersion']}"
################################################################
# LOGGER SETUP
##################
logging.basicConfig(level=logging.DEBUG, filename="./log/main_log.log", filemode="w")
logs = f"./log/{datetime.datetime.now()}-log-main.log"
logger = logging.getLogger(__name__)
handler = logging.FileHandler(logs)
formatter = logging.Formatter("%(levelname)s - %(asctime)s - %(name)s: %(message)s -- %(lineno)d")
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(config['Dev Settings']['log_level'])
logger.info(f"Logger initialized, app is running Version: {version_app}")
################################################################
###########
@@ -45,15 +66,18 @@ class PCConfigurator(MDApp):
screen_manager.add_widget(Builder.load_file("./gui_main/splashscreen.kv"))
screen_manager.add_widget(Builder.load_file("./gui_main/main-gui.kv"))
screen_manager.add_widget(Builder.load_file("./gui_main/configurator.kv"))
screen_manager.add_widget(Builder.load_file("./gui_main/settings.kv"))
return screen_manager
def on_start(self):
logger.info("App mainframe started, executing checks")
Clock.schedule_once(self.launch_app, 1)
def launch_app(self, dt):
# Here the launch script will be launched and the screen will automatically be changed to the home screen
screen_manager.current = "HomeScreen"
if __name__ == "__main__":
logger.info("Launching App...")
PCConfigurator().run()