From dde4ee997e629c155bed31688c824f90541d3442 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20M=C3=BCller?= Date: Tue, 9 Apr 2024 11:18:50 +0200 Subject: [PATCH] =?UTF-8?q?Schalter=20-w=20eingebaut,=20um=20zu=20steuern,?= =?UTF-8?q?=20ob=20die=20CSV-Dateien=20erneut=20heruntergeladen=20werden?= =?UTF-8?q?=20sollen.=20Erforderlich,=20weil=20bisher=20bei=20Klick=20auf?= =?UTF-8?q?=20'Suche'=20in=20GUI=20die=20CSV=20nicht=20erneut=20herunterge?= =?UTF-8?q?laden=20wurde,=20obwohl=20in=20Sivas=20=C3=84nderungen=20durchg?= =?UTF-8?q?ef=C3=BChrt=20wurden,=20d.h.=20die=20aktualisierten=20CSVs=20be?= =?UTF-8?q?n=C3=B6tigt=20werden.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/update_database.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib/update_database.py b/lib/update_database.py index 02619d9..33b1e93 100644 --- a/lib/update_database.py +++ b/lib/update_database.py @@ -82,7 +82,7 @@ def get_sivas_dbase(sivas_id, out_dir): print(f"Can't execute SIVAS-database query. Check VPN connection and check the path of %SIVAS_DATABASE_QUERY% in cremig_setenv.bat") return False -def get_sivas_teilestamm(sivas_ids, out_dir): +def get_sivas_teilestamm(sivas_ids, out_dir, overwrite=True): """call the sivas exe for getting all csv files with the item data for the given sivas ids""" sivas_teilestamm_exe = os.environ.get('SIVAS_TEILESTAMM') @@ -92,9 +92,13 @@ def get_sivas_teilestamm(sivas_ids, out_dir): ids_to_generate = [] for id in sivas_ids: - id = id.replace(" ", "") - out_file = os.path.join(out_dir, id + ".csv") - if not os.path.isfile(out_file): + id = id.replace(" ", "") + if not overwrite: + out_file = os.path.join(out_dir, id + ".csv") + if not os.path.isfile(out_file): + ids_to_generate.append(id) + continue + else: ids_to_generate.append(id) if not id.isnumeric(): @@ -127,6 +131,7 @@ if __name__ == '__main__': parser.add_argument('-r', '--rd', action='store_true', help='fetch list of existing parts from network drive') parser.add_argument('-b', '--blacklist', action='store_true', help='fetch list of not allowed parts from network drive') parser.add_argument('-t', '--teilestamm', action='store_true', help='fetch teilestamm-data for given partnumbers as csv') + parser.add_argument('-w', '--overwrite', action='store_true', help='vorhandene CSV-Dateien werden nicht erneut aus SIVAS abgefragt') args = parser.parse_args() @@ -138,8 +143,13 @@ if __name__ == '__main__': elif args.sivasid: if args.teilestamm: - get_sivas_teilestamm(args.sivasid, out_dir) + overwrite = args.overwrite + if overwrite: + get_sivas_teilestamm(args.sivasid, out_dir, overwrite = True) + else: + get_sivas_teilestamm(args.sivasid, out_dir, overwrite = False) + else: get_sivas_dbase(args.sivasid, out_dir)