Configlibarry zum Auslesen aller Werte aller benötigten Informationen aus den Config files erstellt
This commit is contained in:
+146
-19
@@ -20,7 +20,6 @@ class JsonBasedConfig:
|
||||
"""nimm den Json String zur Initialisierung des Objektes"""
|
||||
return json.loads(json_str)
|
||||
|
||||
|
||||
class TOSGroupsConfig(JsonBasedConfig):
|
||||
"""Auslesen der Config Angaben zu den TOS Gruppen"""
|
||||
|
||||
@@ -71,7 +70,6 @@ class TOSGroupsConfig(JsonBasedConfig):
|
||||
"""lade den Json String zur Initialisierung des Objektes"""
|
||||
self.tos_hierarchy = super().from_json(json_str)
|
||||
|
||||
|
||||
class MaterialTransConfig(JsonBasedConfig):
|
||||
"""Auslesen der Config zu allen Materialangaben"""
|
||||
|
||||
@@ -120,32 +118,161 @@ class IniBasedConfig:
|
||||
self.config.read(self.config_path)
|
||||
self.isInitalized = True
|
||||
|
||||
def isInitalized(self):
|
||||
return self.isInitalized
|
||||
|
||||
def get_section_options(self, section_name):
|
||||
if not self.isInitalized:
|
||||
self.load_cfg_from_file()
|
||||
return self.config.options(section_name)
|
||||
|
||||
def sections(self):
|
||||
if not self.isInitalized:
|
||||
self.load_cfg_from_file()
|
||||
return self.config.sections()
|
||||
|
||||
def get_int(self, section_name, option):
|
||||
if not self.isInitalized:
|
||||
self.load_cfg_from_file()
|
||||
return self.config.getint(section_name, option)
|
||||
|
||||
def get_dict(self, section_name):
|
||||
if not self.isInitalized:
|
||||
self.load_cfg_from_file()
|
||||
return dict(self.config.items(section_name))
|
||||
|
||||
class AllgmeinConfig(IniBasedConfig):
|
||||
"""Auslesen der Config für alle allgemeinen Angaben"""
|
||||
def __init__(self, config_dir='.', config_file='Allgmein.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_sections(self):
|
||||
""" gibt alle Sektionen zurück wie
|
||||
Kategorien, Dispogruppe, Dispolaufgruppe, EinheitAusw, ...
|
||||
"""
|
||||
return super().sections()
|
||||
|
||||
def get_options(self, section_name):
|
||||
""" get all options below"""
|
||||
return super().get_section_options(section_name)
|
||||
|
||||
class BezeichnerConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen möglichen Bezeichner"""
|
||||
def __init__(self, config_dir='.', config_file='Bezeichner.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get(self):
|
||||
"""hole alle möglichen Bezeichner """
|
||||
return super().get_section_options("Bezeichner")
|
||||
|
||||
class FarbenConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Farbensarten"""
|
||||
def __init__(self, config_dir='.', config_file='Farbensarten.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_farbauswahl(self):
|
||||
"""hole alle Farben die möglich sind
|
||||
-> [RAL 1004 Goldgelb, RAL 2000 Gelborange, RAL 3002 Kaminrot, RAL 5010 Enzianblau]
|
||||
"""
|
||||
return super().get_section_options("Farbauswahl")
|
||||
|
||||
def get_farben_eloxieren(self):
|
||||
"""hole alle Farben fürs eloxieren
|
||||
-> [Rot, Grün, Blau, Gelb, Schwarz, Violett, Natur]
|
||||
"""
|
||||
return super().get_section_options("FarbeEloxieren")
|
||||
|
||||
class FertigungsartConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Fertigungsarten"""
|
||||
def __init__(self, config_dir='.', config_file='Fertigungsarten.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_fertigungsarten(self):
|
||||
"""hole alle Fertigungsarten, welche als Sektionen in der config gegeben sind, also
|
||||
Fertigungsart, Allgemeintoleranz3DDruck, AllgemeintoleranzGiessen,
|
||||
AllgemeintoleranzExtrudieren, ...
|
||||
"""
|
||||
return super().sections()
|
||||
|
||||
def get_normen_of_type(self, ftype):
|
||||
"""hole alle möglichen Oberflächen Behandlungsarten zum gegebenen Material
|
||||
Allgemeintoleranz3DDruck ftype
|
||||
-> [ISO 2768:1991-fH, ISO 2768:1991-fK, ISO 2768:1991-fL, ISO 2768:1991-mH, , ...]
|
||||
"""
|
||||
return super().get_section_options(ftype)
|
||||
|
||||
class HerstellerConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen möglichen Hersteller"""
|
||||
def __init__(self, config_dir='.', config_file='Hersteller.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get(self):
|
||||
"""hole alle möglichen Bezeichner """
|
||||
return super().get_section_options("Hersteller")
|
||||
|
||||
class NormenConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Normen"""
|
||||
def __init__(self, config_dir='.', config_file='Normen.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_normen(self):
|
||||
"""hole alle Normen, welche als Sektionen in der config gegeben sind, also
|
||||
Oberflaechennorm, Kantennorm, Massnorm, Tolerierungsnorm,..
|
||||
"""
|
||||
return super().sections()
|
||||
|
||||
def get_normen_of_type(self, otype):
|
||||
"""hole alle möglichen Oberflächen Behandlungsarten zum gegebenen Material
|
||||
Oberfläche otype
|
||||
Oberflaechennorm -> [ISO 1302:2002, ISO 21920]
|
||||
Tolerierungsnorm, ...
|
||||
"""
|
||||
return super().get_section_options(otype)
|
||||
|
||||
class OberflächeConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Oberflächen"""
|
||||
def __init__(self, config_dir='.', config_file='Oberflächenbehandlung.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_oberflächen(self):
|
||||
"""hole alle Oberflächen, welche als Sektionen in der config gegeben
|
||||
sind, also OberflächenbehandlungStahl, OberflächenbehandlungAluminium, ... """
|
||||
return super().sections()
|
||||
|
||||
def get_oberfläche_of_type(self, otype):
|
||||
"""hole alle möglichen Oberflächen Behandlungsarten zum gegebenen Material
|
||||
Oberfläche otype
|
||||
OberflächenbehandlungStahl --> [lackieren, pulverbeschichten, verzinken, vernickeln, brünieren, härten, bürsten, sandstrahlen]
|
||||
OberflächenbehandlungAluminium
|
||||
...
|
||||
"""
|
||||
return super().get_section_options(otype)
|
||||
|
||||
class WerkstoffeConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Werkstoffen"""
|
||||
def __init__(self, config_dir='.', config_file='Werkstoff.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get_werkstoffe_of_type(self, wtype):
|
||||
"""hole alle Werkstoffe unter der gegebenen Sektion
|
||||
Werkstofftyp wtype
|
||||
Stahl --> [ 1.0035 (S185), 1.0038 (S235JR), 1.0122 (S235JRC), 1.0122+C (S235JRC+C), 1.0330 (DC01), ... ]
|
||||
Aluminium
|
||||
Kunst-/ Verbundstoff
|
||||
Schwermetall
|
||||
Festigkeitsklasse
|
||||
siehe Hersteller
|
||||
|
||||
def get_werkstoff_namen(self):
|
||||
"""hole alle Werkstoffe, welche als Sektionen in der config gegeben sind, also z.B.
|
||||
Stahl, Aluminium, Kunst-/ Verbundstoff, ...
|
||||
"""
|
||||
if not super().isInitalized():
|
||||
super().load_cfg_from_file()
|
||||
return super().get_section_options(wtype)
|
||||
return super().sections()
|
||||
|
||||
def get_werkstoffe_of_name(self, wName):
|
||||
"""hole alle Werkstoffe unter der gegebenen Sektion
|
||||
Werkstofftyp wName
|
||||
Stahl --> [ 1.0035 (S185), 1.0038 (S235JR), 1.0122 (S235JRC), 1.0122+C (S235JRC+C), 1.0330 (DC01), ... ]
|
||||
Aluminium, ...
|
||||
"""
|
||||
return super().get_section_options(wName)
|
||||
|
||||
class PfadConfig(IniBasedConfig):
|
||||
"""Auslesen der Config zu allen Pfaden"""
|
||||
def __init__(self, config_dir='.', config_file='Zielpfade.cfg'):
|
||||
super().__init__(config_dir, config_file)
|
||||
|
||||
def get(self):
|
||||
"""hole alle möglichen Bezeichner """
|
||||
return super().get_section_options("Zielpfade")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
Kalkulationsart
|
||||
|
||||
Reference in New Issue
Block a user