Esempio n. 1
0
    def all(cls, params=None):
        """Get list of payments as on
        https://cloudconvert.com/api/v2/tasks#tasks-list
        Usage::
            >>> tasks_list = tasks.all({'status': 'waiting'})
        """
        api_client = default_client()

        if params is None:
            url = cls.path
        else:
            url = util.join_url_params(cls.path, params)

        try:
            response = api_client.get(url)
            res = cls.list_class(response, api_client=api_client)
            try:
                return res.to_json().get("data")
            except:
                return res.to_json()
        except AttributeError:
            # To handle the case when response is JSON Array
            if isinstance(response, list):
                new_resp = [cls.list_class(elem, api_client=api_client) for elem in response]
                return new_resp
Esempio n. 2
0
    def __init__(self, attributes=None, api_client=None):
        attributes = attributes or {}
        self.__dict__['api_client'] = api_client or default_client()

        super(Resource, self).__setattr__('__data__', {})
        super(Resource, self).__setattr__('error', None)
        super(Resource, self).__setattr__('headers', {})
        super(Resource, self).__setattr__('header', {})
        super(Resource, self).__setattr__('request_id', None)
        self.merge(attributes)
Esempio n. 3
0
def _get_valid_conversions():
    """GET supported conversion formats from CloudConvert
    """
    global valid_conversions
    if valid_conversions:
        return valid_conversions
    res = default_client().get(action='v2/convert/formats')
    valid_conversions = functools.reduce(
        _combine_dict('input_format', 'output_format'), res['data'], dict())
    return valid_conversions
Esempio n. 4
0
 def delete(cls, id):
     """Deletes a resource e.g. task
     Usage::
         >>> Task.delete(TASK_ID)
     """
     api_client = default_client()
     url = util.join_url(cls.path, str(id))
     api_resource = Resource()
     new_attributes = api_client.delete(url)
     api_resource.error = None
     api_resource.merge(new_attributes)
     return api_resource.success()
Esempio n. 5
0
 def show(cls, id):
     """show resource e.g. job with given id
     Usage::
         >>> job = Job.show("s9fsf9-s9f9sf9s-ggfgf9-fg9fg")
     """
     api_client = default_client()
     url = util.join_url(cls.path, str(id))
     res = api_client.get(url)
     try:
         return res["data"]
     except:
         return res
Esempio n. 6
0
 def cancel(cls, id):
     """Cancel a resource for given Id e.g. task
     Usage::
         >>> Task.cancel("4534d-34gsf-54cxv-9cxv") # return True or False
     """
     api_client = default_client()
     url = util.join_url(cls.path, str(id), "cancel")
     api_resource = Resource()
     new_attributes = api_client.post(url, {}, {})
     api_resource.error = None
     api_resource.merge(new_attributes)
     return api_resource.success()
Esempio n. 7
0
    def retry(cls, id):
        """Retry a resource for given Id e.g. task
        Usage::
            >>> Task.retry("4534d-34gsf-54cxv-9cxv")
        """
        api_client = default_client()

        url = util.join_url(cls.path, str(id), "retry")
        res = api_client.post(url)
        try:
            return res["data"]
        except:
            return res
Esempio n. 8
0
    def user(cls):
        """Locate resource e.g. current user
        Usage::
            >>> user = User.user()
        """
        api_client = default_client()

        url = util.join_url(cls.path, "me")
        res = api_client.get(url)
        try:
            return res["data"]
        except:
            return res
Esempio n. 9
0
    def create(cls, operation=None, payload={}):
        """Creates a resource e.g. task
        Usage::
            >>> task = Task({})
            >>> task.create(name=TASK_NAME) # return newly created task
        """

        api_client = default_client()
        url = util.join_url('v2', operation or '')
        res = api_client.post(url, payload, headers={})

        try:
            return res["data"]
        except:
            return res