Mercurial > hg > orthanc-book
view Sphinx/source/plugins/python/paging.py @ 1113:a588960a72e5 default tip
spelling
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 28 Oct 2024 09:23:08 +0100 |
parents | ba2403ebd4b7 |
children |
line wrap: on
line source
import json import orthanc def GetStudyDate(study): if 'StudyDate' in study['MainDicomTags']: return study['MainDicomTags']['StudyDate'] else: return '' def SortStudiesByDate(output, uri, **request): if request['method'] == 'GET': # Retrieve all the studies studies = json.loads(orthanc.RestApiGet('/studies?expand')) # Sort the studies according to the "StudyDate" DICOM tag studies = sorted(studies, key = GetStudyDate) # Read the limit/offset arguments provided by the user offset = 0 if 'offset' in request['get']: offset = int(request['get']['offset']) limit = 0 if 'limit' in request['get']: limit = int(request['get']['limit']) # Truncate the list of studies if limit == 0: studies = studies[offset : ] else: studies = studies[offset : offset + limit] # Return the truncated list of studies output.AnswerBuffer(json.dumps(studies), 'application/json') else: output.SendMethodNotAllowed('GET') orthanc.RegisterRestCallback('/sort-studies', SortStudiesByDate)