Beispiel #1
0
def create(uuid, **kwargs):
    #Validate session parameters
    data = { "uuid": uuid, "token": crocodoc.api_token } 
    boolean_parameters = ("editable", "admin", "downloadable", "copyprotected", "demo")  
    for key in list(kwargs.iterkeys()):
        if key in boolean_parameters:
            data[key] = "true" if bool(kwargs[key]) else "false"
            del kwargs[key]
    
    #User?
    if "user" in kwargs and "id" in kwargs["user"] and "name" in kwargs["user"]:
        data["user"] = str(kwargs["user"]["id"]) + ',' + kwargs["user"]["name"]
        del kwargs["user"]
            
    #Filter?
    if "filter" in kwargs:
        data["filter"] = kwargs["filter"]
        del kwargs["filter"]
        
    #Sidebar?
    if "sidebar" in kwargs:
        data["sidebar"] = kwargs["sidebar"]
        del kwargs["sidebar"]
    
    #POST request
    r = requests.post(crocodoc.base_url + "session/create", data)
    
    #Error?
    crocodoc.handleresponse(r)
    
    #Success?
    if "session" in r.json():
        return r.json()["session"]
    else:
        raise crocodoc.CrocodocError("missing_session_key", r)
Beispiel #2
0
def text(uuid):
    #GET request
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)
    url = crocodoc.base_url + "download/text?" + querystring
    r = requests.get(url)

    #Error?
    crocodoc.handleresponse(r, True)

    #Success!
    return r.content
def text(uuid):
    #GET request
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)
    url = crocodoc.base_url + "download/text?" + querystring
    r = requests.get(url)
    
    #Error?
    crocodoc.handleresponse(r, True)
    
    #Success!
    return r.content
Beispiel #4
0
def delete(uuid):
    #POST request
    data = { "uuid": uuid, "token": crocodoc.api_token }
    url = crocodoc.base_url + "document/delete"
    r = requests.post(url, data)
    
    #Error?
    crocodoc.handleresponse(r)

    #Success!
    return True
Beispiel #5
0
def thumbnail(uuid, width=None, height=None):
    #Build query string
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)

    if width is not None and height is not None:
        querystring += "&size=%dx%d" % (width, height)

    #GET request
    url = crocodoc.base_url + "download/thumbnail?" + querystring
    r = requests.get(url)

    #Error?
    crocodoc.handleresponse(r, True)

    #Success!
    return r.content
Beispiel #6
0
def status(uuids):
    #Single uuid?
    single_uuid = isinstance(uuids, basestring)
    if single_uuid:
        uuids = [uuids]
    
    #GET request
    querystring = "uuids=%s&token=%s" % (",".join(uuids), crocodoc.api_token)
    url = crocodoc.base_url + "document/status?" + querystring
    r = requests.get(url)
    
    #Error?
    crocodoc.handleresponse(r)
    
    #Success!
    return r.json()[0] if single_uuid else r.json()
def thumbnail(uuid, width=None, height=None):
    #Build query string
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)
    
    if width is not None and height is not None:
        querystring += "&size=%dx%d" % (width, height)

    #GET request
    url = crocodoc.base_url + "download/thumbnail?" + querystring
    r = requests.get(url)
    
    #Error?
    crocodoc.handleresponse(r, True)
    
    #Success!
    return r.content
Beispiel #8
0
def document(uuid, pdf=False, annotated=False, filter=None):
    #Build query string
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)
    if pdf:
        querystring += "&pdf=true"
    if annotated:
        querystring += "&annotated=true"
    if filter:
        querystring += "&filter=%s" % (filter, )

    #GET request
    url = crocodoc.base_url + "download/document?" + querystring
    r = requests.get(url)

    #Error?
    crocodoc.handleresponse(r, True)

    #Success!
    return r.content
def document(uuid, pdf=False, annotated=False, filter=None):
    #Build query string
    querystring = "uuid=%s&token=%s" % (uuid, crocodoc.api_token)
    if pdf:
        querystring += "&pdf=true"
    if annotated:
        querystring += "&annotated=true"
    if filter:
        querystring += "&filter=%s" % (filter,)

    #GET request
    url = crocodoc.base_url + "download/document?" + querystring
    r = requests.get(url)
    
    #Error?
    crocodoc.handleresponse(r, True)
    
    #Success!
    return r.content
Beispiel #10
0
def upload(url=None, file=None):
    #POST request
    data = { "token": crocodoc.api_token }
    files = {}
    if file:
        files["file"] = file 
    elif url:
        data["url"] = url
    else:
        raise crocodoc.CrocodocError("invalid_url_or_file_param", r)
    r = requests.post(crocodoc.base_url + "document/upload", data=data, files=files)
    
    #Error?
    crocodoc.handleresponse(r)
    
    #Success?
    if "uuid" in r.json():
        return r.json()["uuid"]
    else:
        raise crocodoc.CrocodocError("missing_uuid", r)
Beispiel #11
0
def create(uuid, **kwargs):
    #Validate session parameters
    data = {"uuid": uuid, "token": crocodoc.api_token}
    boolean_parameters = ("editable", "admin", "downloadable", "copyprotected",
                          "demo")
    for key in list(kwargs.iterkeys()):
        if key in boolean_parameters:
            data[key] = "true" if bool(kwargs[key]) else "false"
            del kwargs[key]

    #User?
    if "user" in kwargs and "id" in kwargs["user"] and "name" in kwargs["user"]:
        data["user"] = str(kwargs["user"]["id"]) + ',' + kwargs["user"]["name"]
        del kwargs["user"]

    #Filter?
    if "filter" in kwargs:
        data["filter"] = kwargs["filter"]
        del kwargs["filter"]

    #Sidebar?
    if "sidebar" in kwargs:
        data["sidebar"] = kwargs["sidebar"]
        del kwargs["sidebar"]

    #POST request
    r = requests.post(crocodoc.base_url + "session/create", data)

    #Error?
    crocodoc.handleresponse(r)

    #Success?
    if "session" in r.json():
        return r.json()["session"]
    else:
        raise crocodoc.CrocodocError("missing_session_key", r)