From 0adc9e72b4905bf6dffea244c95d1a5a965af13c Mon Sep 17 00:00:00 2001 From: mistangl Date: Thu, 16 Nov 2023 15:13:44 +0100 Subject: [PATCH] =?UTF-8?q?Besprechung=20der=20n=C3=A4chsten=20Schritte.?= =?UTF-8?q?=20Skelett=20von=20bat=20und=20lib=20dazu=20eingecheckt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/04_get_sivas_teilestamm.bat | 6 +++++ bin/cremig_setenv.bat | 2 ++ doc/todo.md | 5 ++++ lib/get_sivas_teilestamm.py | 44 +++++++++++++++++++++++++++++++++ 4 files changed, 57 insertions(+) create mode 100644 bin/04_get_sivas_teilestamm.bat create mode 100644 doc/todo.md create mode 100644 lib/get_sivas_teilestamm.py diff --git a/bin/04_get_sivas_teilestamm.bat b/bin/04_get_sivas_teilestamm.bat new file mode 100644 index 0000000..073ce3b --- /dev/null +++ b/bin/04_get_sivas_teilestamm.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%\get_sivas_teilestamm.py --sivas=%SIVAS_ID% +deactivate diff --git a/bin/cremig_setenv.bat b/bin/cremig_setenv.bat index 8d814c7..d6dabbd 100644 --- a/bin/cremig_setenv.bat +++ b/bin/cremig_setenv.bat @@ -18,4 +18,6 @@ set RD_DATABASE_SOURCE=\\ssg.local\freigaben\SIVAS_CAD_EDM\Migration\07_RD_Teile set RD_DATABASE_NAME=RD_Teilenummern.csv set VBA_MACRO_NAME=vba_format_excel.xlsm set SIVAS_DATABASE_QUERY=Y:\jit\programme\Sivas2json.exe +REM set SIVAS_TEILESTAMM=\\195.243.223.3\sivas\NetEnv\Sivas4.exe +set SIVAS_TEILESTAMM=Y:\NetEnv\Sivas4.exe popd diff --git a/doc/todo.md b/doc/todo.md new file mode 100644 index 0000000..c4898fb --- /dev/null +++ b/doc/todo.md @@ -0,0 +1,5 @@ +- Unterordner im Ordner CREMIG_DATA= für Teilestamm und für Baugruppenstruktur +- Ergänzung der Applikation Sivas4.exe um den Schalter -o für das Ausgabeverzeichnis +- Ergänzung der Applikation Sivas4.exe -s/-q für quiet, also dass Sivas nicht explizit sichtbar wird (Performance) +- Ergänzung der Applikation Sivas4.exe, dass die Ausgabedatei nicht mehr from_siv.csv, sondern wie die SivasId heissen soll +- @Simon Excel mit Tree eines Assembly wird jedes mal neu geschrieben, nur werden vorher Bemerkungen etc. aus der Altdatei gelesen und in den neuen Export wieder rein geschrieben \ No newline at end of file diff --git a/lib/get_sivas_teilestamm.py b/lib/get_sivas_teilestamm.py new file mode 100644 index 0000000..bf53a22 --- /dev/null +++ b/lib/get_sivas_teilestamm.py @@ -0,0 +1,44 @@ +import argparse +import os +import shutil +import subprocess + +""" +Dieses Programm: +- Holt sich alle notwendigen Einzelteil-Informationen aus SIVAS in Tabellenform +""" + + +def get_sivas_teilestamm(sivas_id, out_dir): + sivas_teilestamm_exe = os.environ.get('SIVAS_TEILESTAMM') + + if os.path.isfile(sivas_teilestamm_exe): + + if os.path.isdir(out_dir): + print(f"Attempting to generate a json-file of all parts to be migrated in relation with '{sivas_id}'") + subprocess.run(f"{sivas_teilestamm_exe} userid=sivas password=forte database=sivas program=ExcelUeb LFDNR=500 EINSTIEG=SQL PARAMETER1={sivas_id}") + + if os.path.isfile(os.path.join(out_dir, sivas_id + ".csv")): + print("done") + else: + print(f"Failure - Couldn't generate {sivas_id}.json. Check for any spelling/typing errors. Otherwise given number is a part without a BOM.") + exit() + else: + print(f"'Output directory for .json-file {out_dir}' doesn't exist.") + else: + print(f"Can't execute SIVAS-database query. Check if you have established a VPN connection to the company's network and check the path of %SIVAS_DATABASE_QUERY% in cremig_setenv.bat") + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='fetches data from sivas or ruledesigner fusion', prog='update_database') + parser.add_argument('-s', '--sivas', action='store', help='fetch data of this id from sivas fo local database folder', metavar='id') + + args = parser.parse_args() + + out_dir = os.environ.get('CREMIG_DATA') + + if args.sivas: + get_sivas_teilestamm(args.sivas, out_dir) + + else: + parser.print_help()