def get(self, batch_id, group=None, task=None): """ Retrieves the list of tasks and their argument values associated with a batch, optionally limited to a specific group. ** Request ** .. sourcecode:: http GET /batch/:batch_id/tasks ** Response ** .. sourcecode:: http HTTP/1.1 200 OK { "segmentation": [ ["tesseract", {}] ], "ocr": [ ["kraken", { "model": "teubner", } ] ] } To limit output to a specific group of tasks, e.g. segmentation or binarization append the group to the URL: ** Request ** .. sourcecode:: http GET /batch/:batch_id/tasks/:group ** Response ** .. sourcecode:: http HTTP/1.1 200 OK { 'group': [ ["tesseract", {}], ["kraken", {}] ] } :status 200: success :status 404: batch, group, or task not found. """ log.debug('Routing to task {}.{} of {} (GET)'.format( group, task, batch_id)) try: batch = SimpleBatch(batch_id) except: log.debug('Batch {} not found'.format(batch_id)) return {'message': 'Batch Not Found: {}'.format(batch_id)}, 404 tasks = batch.get_tasks() if group and group not in tasks: log.debug('Unknown group {} ({})'.format(group, batch_id)) return {'message': 'Unknown group {}'.format(group)}, 404 elif task and task not in tasks[group]: log.debug('Unknown task {}.{} ({})'.format(group, task, batch_id)) return {'message': 'Unknown task {}'.format(task)}, 404 if group: tasks = {group: tasks[group]} if task: tasks = {group: {task: tasks[group][task]}} return tasks, 200
def get(self, batch_id, group=None, task=None): """ Retrieves the list of tasks and their argument values associated with a batch, optionally limited to a specific group. ** Request ** .. sourcecode:: http GET /batch/:batch_id/tasks ** Response ** .. sourcecode:: http HTTP/1.1 200 OK { "segmentation": [ ["tesseract", {}] ], "ocr": [ ["kraken", { "model": "teubner", } ] ] } To limit output to a specific group of tasks, e.g. segmentation or binarization append the group to the URL: ** Request ** .. sourcecode:: http GET /batch/:batch_id/tasks/:group ** Response ** .. sourcecode:: http HTTP/1.1 200 OK { 'group': [ ["tesseract", {}], ["kraken", {}] ] } :status 200: success :status 404: batch, group, or task not found. """ log.debug('Routing to task {}.{} of {} (GET)'.format(group, task, batch_id)) try: batch = SimpleBatch(batch_id) except: log.debug('Batch {} not found'.format(batch_id)) return {'message': 'Batch Not Found: {}'.format(batch_id)}, 404 tasks = batch.get_tasks() if group and group not in tasks: log.debug('Unknown group {} ({})'.format(group, batch_id)) return {'message': 'Unknown group {}'.format(group)}, 404 elif task and task not in tasks[group]: log.debug('Unknown task {}.{} ({})'.format(group, task, batch_id)) return {'message': 'Unknown task {}'.format(task)}, 404 if group: tasks = {group: tasks[group]} if task: tasks = {group: {task: tasks[group][task]}} return tasks, 200