From 7be759fd01b0b75fd7baaa81a23bc58fad6ce748 Mon Sep 17 00:00:00 2001 From: mistangl Date: Wed, 29 Nov 2023 19:29:21 +0100 Subject: [PATCH] erste Fassung rein --- bin/create_tos_string.bat | 6 +++++ lib/create_tos.py | 56 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 bin/create_tos_string.bat create mode 100644 lib/create_tos.py diff --git a/bin/create_tos_string.bat b/bin/create_tos_string.bat new file mode 100644 index 0000000..6aefc64 --- /dev/null +++ b/bin/create_tos_string.bat @@ -0,0 +1,6 @@ +@echo off +CALL cremig_setenv.bat +IF NOT EXIST %CREMIG%\.venv CALL %CREMIG_BIN%\install_py.bat +CALL %CREMIG%\.venv\Scripts\activate.bat +python %CREMIG_LIB%\create_tos.py +deactivate diff --git a/lib/create_tos.py b/lib/create_tos.py new file mode 100644 index 0000000..4d3cf2c --- /dev/null +++ b/lib/create_tos.py @@ -0,0 +1,56 @@ +import argparse +import os +import json + +""" +Dieses Programm erzeugt aus den Angaben in der config TOS-Gruppen.json einen Export String zur Pflege des TOS im Ruledesigner Fusion + +Pfad zur Datei:\\ruledesigner\RDF_Daten\Config\CampiEsterni.ini +Codebereich liegt bei Calk Link 10 + +- Alle informieren das RuleDesigner beendet werden muss. +- Auf den Rechner des RuleDesigner Servers einloggen. (nicht der selbe wie der SE-Admin) +- Dort dann die Powershell "Tomcat-IIS_reset" ausführen. + +""" + + +def create_tos_string(config_path): + + res = 'CalcMaster=EdmCodVal("' + if os.path.isfile(config_path): + tos_hierarchy = "" + with open(config_path, 'r', encoding='utf-8') as fh: + tos_hierarchy = json.loads(fh.read()) + print(tos_hierarchy) + r = tos_hierarchy["root"] + + myTuple = ("John", "Peter", "Vicky") + res += '")&EdmCodVal("'.join(myTuple) + res += '")' + return res + else: + print(f"Can't create tos string.") + return None + +# CalcMaster=EdmCodVal("TOS-Gruppe")&EdmCodVal("TOS_Schoenenberger_Produkt")&EdmCodVal("TOS_Automation")&EdmCodVal("TOS_Maschinenelement")&EdmCodVal("TOS_Schoenenberger_Komponenten")&EdmCodVal("TOS_Pneumatik")&EdmCodVal("TOS_Konfig")&EdmCodVal("TOS_ILS")&EdmCodVal("TOS_MAS")&EdmCodVal("TOS_Spinnereikomponente")&EdmCodVal("TOS_Betriebsmittel")&EdmCodVal("TOS_Geruest")&EdmCodVal("TOS_FremdTransport")&EdmCodVal("TOS_MAS_Konfig")&EdmCodVal("TOS_Schaltschrank")&EdmCodVal("TOS_Schalt_Einbau")&EdmCodVal("TOS_Dezentral")&EdmCodVal("TOS_Automation_Sensorik")&EdmCodVal("TOS_Kabel")&EdmCodVal("TOS_Installation")&EdmCodVal("TOS_Automation_Sonstiges")&EdmCodVal("TOS_Verbindungselement")&EdmCodVal("TOS_Lager")&EdmCodVal("TOS_Kraft_Drehmoment")&EdmCodVal("TOS_Sicherungselement")&EdmCodVal("TOS_Bedienungselement")&EdmCodVal("TOS_ILS_2")&EdmCodVal("TOS_ILS_Foerderer")&EdmCodVal("TOS_MAS_Fahrstecke")&EdmCodVal("TOS_Trolley")&EdmCodVal("TOS_Trolley_Projekte")&EdmCodVal("TOS_Trolley_Omniflo")&EdmCodVal("TOS_Trolley_Spinnerei")&EdmCodVal("TOS_Trolley_ILS") + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='creates the string for the TOS System in Ruledesigner Fusion', prog='create_tos') + parser.add_argument('-o', '--outfile', action='store', help='put the result into a textfile') + parser.add_argument('-c', '--console', action='store_true', help='put the result to console') + + args = parser.parse_args() + + out_dir = os.environ.get('CREMIG_DATA') + config_dir = os.environ.get('CREMIG_CFG') + config_path = os.path.join(config_dir, 'TOS-Gruppen.json') + + if args.outfile: + res = create_tos_string(config_path) + elif args.console: + res = create_tos_string(config_path) + print(res) + + else: + parser.print_help()