def main(): get_import = Query("GetPosdaFilesImportControl") go_in_service = Query("GoInServicePosdaImport") quit_q = Query("RelinquishControlPosdaImport") while True: # get current status for import_control in get_import.run(): pass if import_control.status == "waiting to go inservice": go_in_service.execute(MYPID) continue if import_control.status == "service process running": if import_control.processor_pid != MYPID: printe("Some other process controlling import") return if import_control.pending_change_request == "shutdown": quit_q.execute() printe("Relinquished control of posda_import") return printe("Doing actual work (well, pretending)") else: printe(f"unknown state ({import_control.status}) for posda_import")
print("Initial line written to email") hierarchy = None report = background.create_report(f"DICOM Hierarchy for {series_count} series") writer = csv.writer(report) writer.writerow([ "collection", "site", "patient_id", "study_instance_uid", "study_date", "study_description", "series_instance_uid", "series_date", "series_description", "modality", "dicom_file_type", "num_files", ]) for i, s in enumerate(series): background.set_activity_status(f"Querying {i} of {series_count}") for row in q.run(s): writer.writerow(tuple(row)) print("Final line written to email") elapsed = time.time() - start background.finish(f"Processed {series_count} in {elapsed} seconds")
scan_id = Query("CreateSimplePhiScanRow").get_single_value( description=args.description, num_series=len(input_lines), file_query=args.file_query_name ) # create queries we are going to use multiple times # TODO: ^ that for series in input_lines: printe(f"Processing {series}") count = 0 for row in get_series_count.run(series): count += 1 printe(f"Found {count} files in this series.") series_scan_id = Query("CreateSimpleSeriesScanInstance").get_single_value( scan_instance_id=scan_id, series_instance_uid=series ) cmd = "PhiSimpleSeriesScan.pl" command = [cmd, series, args.file_query_name] for line in lines(command): tagp, vr, value = unpack_n(line.split('|'), 3)