Exemplo n.º 1
0
 def query(cls,
           project=None,
           status=None,
           batch=None,
           parent=None,
           offset=None,
           limit=None,
           api=None):
     """
     Query (List) tasks
     :param project: Target project. optional.
     :param status: Task status.
     :param batch: Only batch tasks.
     :param parent: Parent batch task identifier.
     :param offset: Pagination offset.
     :param limit: Pagination limit.
     :param api: Api instance.
     :return: Collection object.
     """
     api = api or cls._API
     if parent:
         parent = Transform.to_task(parent)
     if project:
         project = Transform.to_project(project)
     return super(Task, cls)._query(url=cls._URL['query'],
                                    project=project,
                                    status=status,
                                    batch=batch,
                                    parent=parent,
                                    offset=offset,
                                    limit=limit,
                                    fields='_all',
                                    api=api)
Exemplo n.º 2
0
    def bulk_get(cls, tasks, api=None):
        """
        Retrieve tasks with specified ids in bulk
        :param tasks: Tasks to be retrieved.
        :param api: Api instance.
        :return: List of TaskBulkRecord objects.
        """
        api = api or cls._API
        task_ids = [Transform.to_task(task) for task in tasks]
        data = {'task_ids': task_ids}

        logger.info('Getting tasks in bulk.')
        response = api.post(url=cls._URL['bulk_get'], data=data)
        return TaskBulkRecord.parse_records(response=response, api=api)
Exemplo n.º 3
0
 def query(cls, project=None, status=None, batch=None,
           parent=None, offset=None, limit=None, api=None):
     """
     Query (List) tasks
     :param project: Target project. optional.
     :param status: Task status.
     :param batch: Only batch tasks.
     :param parent: Parent batch task identifier.
     :param offset: Pagination offset.
     :param limit: Pagination limit.
     :param api: Api instance.
     :return: Collection object.
     """
     api = api or cls._API
     if parent:
         parent = Transform.to_task(parent)
     return super(Task, cls)._query(url=cls._URL['query'], project=project,
                                    status=status, batch=batch,
                                    parent=parent, offset=offset,
                                    limit=limit, api=api)
def test_transform_app_invalid_values(app):
    with pytest.raises(SbgError):
        Transform.to_task(app)
def test_transform_task_invalid_values(task):
    with pytest.raises(SbgError):
        Transform.to_task(task)
def test_transform_task(task):
    Transform.to_task(task)
Exemplo n.º 7
0
    def query(cls,
              project=None,
              status=None,
              batch=None,
              parent=None,
              created_from=None,
              created_to=None,
              started_from=None,
              started_to=None,
              ended_from=None,
              ended_to=None,
              offset=None,
              limit=None,
              api=None):
        """
        Query (List) tasks. Date parameters may be both strings and python date
        objects.
        :param project: Target project. optional.
        :param status: Task status.
        :param batch: Only batch tasks.
        :param parent: Parent batch task identifier.
        :param ended_to: All tasks that ended until this date.
        :param ended_from: All tasks that ended from this date.
        :param started_to: All tasks that were started until this date.
        :param started_from: All tasks that were started from this date.
        :param created_to: All tasks that were created until this date.
        :param created_from: All tasks that were created from this date.
        :param offset: Pagination offset.
        :param limit: Pagination limit.
        :param api: Api instance.
        :return: Collection object.
        """
        api = api or cls._API
        if parent:
            parent = Transform.to_task(parent)
        if project:
            project = Transform.to_project(project)
        if created_from:
            created_from = Transform.to_datestring(created_from)
        if created_to:
            created_to = Transform.to_datestring(created_to)
        if started_from:
            started_from = Transform.to_datestring(started_from)
        if started_to:
            started_to = Transform.to_datestring(started_to)
        if ended_from:
            ended_from = Transform.to_datestring(ended_from)
        if ended_to:
            ended_to = Transform.to_datestring(ended_to)

        return super(Task, cls)._query(url=cls._URL['query'],
                                       project=project,
                                       status=status,
                                       batch=batch,
                                       parent=parent,
                                       created_from=created_from,
                                       created_to=created_to,
                                       started_from=started_from,
                                       started_to=started_to,
                                       ended_from=ended_from,
                                       ended_to=ended_to,
                                       offset=offset,
                                       limit=limit,
                                       fields='_all',
                                       api=api)
Exemplo n.º 8
0
def test_transform_app_invalid_values(app):
    with pytest.raises(SbgError):
        Transform.to_task(app)
Exemplo n.º 9
0
def test_transform_task_invalid_values(task):
    with pytest.raises(SbgError):
        Transform.to_task(task)
Exemplo n.º 10
0
def test_transform_task(task):
    Transform.to_task(task)