Skip to content

Commit c3a6116

Browse files
committed
Worklist server improvements
1 parent b9dd32d commit c3a6116

File tree

6 files changed

+18
-17
lines changed

6 files changed

+18
-17
lines changed

Diff for: orthanc_tools/helpers/old_files_deleter.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ def execute(self):
5757
self.execute_once()
5858

5959
while self._is_running:
60-
timeout.wait_until_expired()
60+
while self._is_running and not timeout.is_expired():
61+
time.sleep(1)
6162
self.execute_once()
6263
timeout.reset()
6364

Diff for: orthanc_tools/hl7Lib/hl7_dicom_worklist_builder.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def generate(self, values: typing.Dict[str, str], file_name: str = None) -> str:
102102
if file_name is None: # if no filename provided, save in the folder
103103
file_name = os.path.join(self._folder, "{id}.wl".format(id = ds.AccessionNumber))
104104

105-
ds.save_as(file_name, write_like_original = False)
105+
ds.save_as(file_name, enforce_file_format=True)
106106
return file_name
107107

108108
def _add_field(self, ds: pydicom.dataset.Dataset, values: typing.Dict[str, str], field_name: str, element_type: DicomElementType):

Diff for: orthanc_tools/hl7Lib/hl7_server.py

+1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ def _route_message(self, msg):
104104
try:
105105
handler, args = self._handlers[msgType][0], self._handlers[msgType][1:]
106106
except KeyError:
107+
logger.warning(f"Unsupported message type '{msgType}'")
107108
raise UnsupportedMessageType(msgType)
108109

109110
# create a new handler and call the constructor with the args provided

Diff for: orthanc_tools/hl7_worklist_server_for_orthanc.py

+9-12
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,19 @@
3535
worklist_builder = DicomWorklistBuilder(folder = folder)
3636
orm_handler = Hl7OrmWorklistMsgHandler(parser=orm_parser, builder=worklist_builder)
3737

38-
# configure server
39-
mllp_server = MLLPServer(
38+
# configure and start MLLP server
39+
with MLLPServer(
4040
host = '0.0.0.0',
4141
port = port,
4242
handlers = {
43-
'ORM^O01': (orm_handler.handle_orm_message,)
43+
'ORM^O01': (orm_handler.handle_orm_message,),
44+
'ORM^O01^ORM_O01': (orm_handler.handle_orm_message,)
4445
}
45-
)
46+
) as mllp_server:
4647

47-
# start server
48-
mllp_server.start()
48+
# configure and start old_files_deleter
49+
with OldFilesDeleter(folder_to_monitor = folder, timeout = retention*3600.0, filter = '*.wl', execution_interval = 3600.0) as worklist_cleaner:
4950

50-
# configurer and start old_files_deleter
51-
worklist_cleaner = OldFilesDeleter(folder_to_monitor = folder, timeout = retention*3600.0, filter = '*.wl', execution_interval = 3600.0)
52-
worklist_cleaner.start()
53-
54-
while True:
55-
time.sleep(1)
51+
while True:
52+
time.sleep(1)
5653

Diff for: release-notes.md

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
v 0.15.2
1+
v 0.15.3
22
========
3-
- `Hl7WorklistParser`: support for HL7 v2.5.
3+
- `Hl7WorklistParser`:
4+
- added support for HL7 v2.5.
5+
- nicer exiting of OldFilesDeleter
46

57
v 0.15.1
68
========

Diff for: setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
# For a discussion on single-sourcing the version across setup.py and the
2929
# project code, see
3030
# https://packaging.python.org/guides/single-sourcing-package-version/
31-
version='0.15.2', # Required
31+
version='0.15.3', # Required
3232

3333
# This is a one-line description or tagline of what your project does. This
3434
# corresponds to the "Summary" metadata field:

0 commit comments

Comments
 (0)