From 59823679b76be18fb4dfeea9086c5857ead84ad9 Mon Sep 17 00:00:00 2001 From: john Date: Wed, 14 May 2025 16:57:34 +0000 Subject: [PATCH] output writing Added the function or writing to output file real time instead of buffering --- archive_discovery.py | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/archive_discovery.py b/archive_discovery.py index afa6ec4..60140ca 100644 --- a/archive_discovery.py +++ b/archive_discovery.py @@ -14,7 +14,13 @@ import ast # === Constants and Logging Setup === LOG_FILE = "dicom_query.log" CONFIG_FILE = "config.txt" -LOG_LEVELS = {"DEBUG": logging.DEBUG, "INFO": logging.INFO, "WARNING": logging.WARNING, "ERROR": logging.ERROR, "CRITICAL": logging.CRITICAL} +LOG_LEVELS = { + "DEBUG": logging.DEBUG, + "INFO": logging.INFO, + "WARNING": logging.WARNING, + "ERROR": logging.ERROR, + "CRITICAL": logging.CRITICAL +} logging.basicConfig( filename=LOG_FILE, @@ -195,15 +201,19 @@ class ConfigDialog: except Exception: mod_string = str(mod_raw).strip() - writer.writerow([ - str(getattr(identifier, 'PatientID', '')).strip(), - str(getattr(identifier, 'PatientName', '')).strip(), - str(getattr(identifier, 'AccessionNumber', '')).strip(), - str(getattr(identifier, 'StudyDate', '')).strip(), - str(getattr(identifier, 'StudyInstanceUID', '')).strip(), - mod_string, - str(getattr(identifier, 'NumberOfStudyRelatedInstances', '')).strip() - ]) + try: + writer.writerow([ + str(getattr(identifier, 'PatientID', '')).strip(), + str(getattr(identifier, 'PatientName', '')).strip(), + str(getattr(identifier, 'AccessionNumber', '')).strip(), + str(getattr(identifier, 'StudyDate', '')).strip(), + str(getattr(identifier, 'StudyInstanceUID', '')).strip(), + mod_string, + str(getattr(identifier, 'NumberOfStudyRelatedInstances', '')).strip() + ]) + f.flush() + except Exception as e: + logging.exception("Error writing to output file.") elif status: logging.debug("C-FIND response: 0x%04X", status.Status) except Exception as e: