示例#1
0
 async def search(self, **kwargs) -> t.List[collection.Task]:
     ''' Search based on given params. currently only latest 50 task will be retrieved.
     for more details of available parameters, see `_create_params`.
     '''
     params = self._create_params(**kwargs)
     resp_handler = await self.send_message('getTasks', params,
                                            generate_id())
     tasks = await resp_handler()
     return [collection.Task(res) for res in tasks['res']]
示例#2
0
    async def get_public_tasks(self, **kwargs) -> t.List[collection.Task]:
        '''Get public tasks based on the given query parameters.
        currently only latest 50 task will be retrieved. for more details 
        of available parameters, see `_create_params`.
        '''
        params = self._create_params(**kwargs)

        resp_handler = await self.subscribe(
            'publicTasks', [params['skip'] + 50, params['skip'], params])

        return [collection.Task(msg) for msg in await resp_handler()]
示例#3
0
    async def get_single_task(self, task_uuid: str) -> collection.Task:
        ''' Search task based on given UUID.
        you can get UUID by using `get_public_tasks` or just copy <UUID> part of 
        URL of ANY.RUN on browser ('https://app.any.run/tasks/<UUID>/').
        '''
        task_obj_id = await self.check_task_exists(task_uuid)
        if not task_obj_id:
            raise AnyRunError(f'No task found. uuid={task_uuid}')

        task = await self._get_single_task(task_obj_id[0])
        if not task:
            raise AnyRunError(f'Failed to get task. uuid={task_uuid}')

        return collection.Task(task[0])
示例#4
0
 def load_test_json(self, json_path):
     test_json = TEST_DATA_DIR / json_path
     return collection.Task(json.loads(test_json.read_text()))