]> Softwares of Agnibho - medscript.git/commitdiff
Handle CSV with syntax error
authorAgnibho Mondal <mondal@agnibho.com>
Thu, 9 Nov 2023 14:53:50 +0000 (20:23 +0530)
committerAgnibho Mondal <mondal@agnibho.com>
Thu, 9 Nov 2023 14:53:50 +0000 (20:23 +0530)
editpreset.py
preset.py

index adf94391159a174df8d3367ae664c830850f1208..7b05304d7c38d161cbe888919df0bcee5d497793 100644 (file)
@@ -87,6 +87,14 @@ class EditPreset(QMainWindow):
                 next(reader)
                 for idx,row in enumerate(reader):
                     tablerow=[]
+                    try:
+                        row[0]
+                    except IndexError:
+                        row.append("")
+                    try:
+                        row[1]
+                    except IndexError:
+                        row.append("")
                     tablerow.append(QStandardItem(row[0]))
                     tablerow.append(QStandardItem(row[1]))
                     self.model.appendRow(tablerow)
index c73cd4e474cd598e33c80bfc406be361c8f0efe7..c36b1c92978732c50490d3e6ac358b79227ae9d8 100644 (file)
--- a/preset.py
+++ b/preset.py
@@ -28,9 +28,12 @@ class Preset():
                     if skip_first:
                         next(reader)
                     for row in reader:
-                        self.data[row[0]]=row[1]
-                        if text_as_key:
-                            buf[row[1].strip()]=row[1]
+                        try:
+                            self.data[row[0]]=row[1]
+                            if text_as_key:
+                                buf[row[1].strip()]=row[1]
+                        except IndexError as e:
+                            logging.warning(e)
             self.data = buf | self.data
         except FileNotFoundError as e:
             logging.warning(e)
@@ -39,4 +42,4 @@ class Preset():
         except StopIteration as e:
             logging.warning(e)
         except Exception as e:
-            logging.warning(e)
+            logging.exception(e)