Răsfoiți Sursa

Kleine Korrektur für view_90 (noch unvollständig)

gc-server3 10 luni în urmă
părinte
comite
dcfff4e3dc
1 a modificat fișierele cu 7 adăugiri și 7 ștergeri
  1. 7 7
      cognos7/iqd_convert.py

+ 7 - 7
cognos7/iqd_convert.py

@@ -1,7 +1,6 @@
-from pathlib import Path
 import re
-import plac
 from collections import defaultdict
+from pathlib import Path
 
 
 class IqdConverter:
@@ -56,10 +55,13 @@ class IqdConverter:
         match = re.findall(r"(\"([^\"]+)\"\.)?\"([^\"]+)\"\ (T\d+)", query)
         tables = dict([(t[3], t[2]) for t in match])
 
-        query_from_ori = re.search(r"from ([^\s].*)where", query, re.DOTALL).group(1)
-        query_from = query_from_ori.replace("(", "").replace(")", "")
+        query_split = query.split("select")[-1]
+        query_from_ori = re.search(r"from ([^\s].*)where", query_split, re.DOTALL)
+        if not query_from_ori:
+            return ""
+        query_from = query_from_ori.group(1).replace("(", "").replace(")", "")
 
-        query_where_ori = re.search(r"where (.*)", query, re.DOTALL).group(1)
+        query_where_ori = re.search(r"where (.*)", query_split, re.DOTALL).group(1)
         query_where = re.sub(r"-- order by.*", "", query_where_ori)
         # query_where = query_where_ori.replace("(", "").replace(")", "")
 
@@ -168,8 +170,6 @@ class IqdConverter:
 
 
 if __name__ == "__main__":
-    # IqdConverter().convert('C:\\GlobalCube_LOCOSOFT\\System\\LOCOSOFT\\IQD\\Serv_Teile\\offene_Auftraege_Ums_ben_AW.iqd')
     iqdconv = IqdConverter()
     iqdconv.output_dir = "C:\\GlobalCube_LOCOSOFT\\System\\LOCOSOFT\\SQL\\schema\\LOCOSOFT\\views_imr"
     iqdconv.run_folder("C:\\GlobalCube_LOCOSOFT\\System\\LOCOSOFT\\IQD")
-    # plac.Interpreter.call(IqdConverter)