Skip to content

Commit 576b5b3

Browse files
committed
- Fixed issues where export would fail and program would stop if the .csv file is open in some other program or is inaccessible
1 parent 785b751 commit 576b5b3

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

NSE_Option_Chain_Analyzer.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,11 @@ def export(self, event: Optional[Event] = None) -> None:
349349

350350
messagebox.showinfo(title="Export Successful",
351351
message=f"Data has been exported to NSE-OCA-{self.index}-{self.expiry_date}.csv.")
352+
except PermissionError as err:
353+
print(err, "12")
354+
messagebox.showerror(title="Export Failed",
355+
message=f"Failed to access NSE-OCA-{self.index}-{self.expiry_date}.csv.\n"
356+
f"Permission Denied. Try closing any apps using it.")
352357
except Exception as err:
353358
print(err, "8")
354359
messagebox.showerror(title="Export Failed",
@@ -362,12 +367,25 @@ def export_row(self, values: Optional[List[Union[str, float, numpy.float64]]]) -
362367
with open(f"NSE-OCA-{self.index}-{self.expiry_date}.csv", "a", newline="") as row:
363368
data_writer: csv.writer = csv.writer(row)
364369
data_writer.writerow(self.csv_headers)
370+
except PermissionError as err:
371+
print(err, "13")
372+
messagebox.showerror(title="Export Failed",
373+
message=f"Failed to access NSE-OCA-{self.index}-{self.expiry_date}.csv.\n"
374+
f"Permission Denied. Try closing any apps using it.")
365375
except Exception as err:
366376
print(err, "9")
367377
else:
368-
with open(f"NSE-OCA-{self.index}-{self.expiry_date}.csv", "a", newline="") as row:
369-
data_writer: csv.writer = csv.writer(row)
370-
data_writer.writerow(values)
378+
try:
379+
with open(f"NSE-OCA-{self.index}-{self.expiry_date}.csv", "a", newline="") as row:
380+
data_writer: csv.writer = csv.writer(row)
381+
data_writer.writerow(values)
382+
except PermissionError as err:
383+
print(err, "14")
384+
messagebox.showerror(title="Export Failed",
385+
message=f"Failed to access NSE-OCA-{self.index}-{self.expiry_date}.csv.\n"
386+
f"Permission Denied. Try closing any apps using it.")
387+
except Exception as err:
388+
print(err, "15")
371389

372390
# noinspection PyUnusedLocal
373391
def toggle_live_export(self, event: Optional[Event] = None) -> None:
@@ -1218,6 +1236,8 @@ def main(self) -> None:
12181236
messagebox.showerror(title="Export Failed",
12191237
message=f"Failed to access NSE-OCA-{self.index}-{self.expiry_date}-Full.csv.\n"
12201238
f"Permission Denied. Try closing any apps using it.")
1239+
except Exception as err:
1240+
print(err, "16")
12211241

12221242
if self.first_run:
12231243
if self.update:

0 commit comments

Comments
 (0)