Alfresco REST web services client library for python
Project description
A ligthweight python library based on the Alfresco RESTful web services.
Sample usage:
from alfREST import RESTHelper path = "/Sites/mysite/documentLibrary/test" # login rh = RESTHelper() rh.login(login, password, host, port) # createDocument (sio could be a file object...) from StringIO import StringIO sio = StringIO() sio.write("Well, that's all folks.") sio.seek(0) sio.name = "test.txt" tkns = path.split("/") siteId = tkns[2] containerId = tkns[3] uploadDirectory = "/".join(tkns[4:]) idObject = rh.fileUpload(sio, siteId, containerId, "/%s" % uploadDirectory) sio.close() # get properties props = rh.getProperties("%s/test.txt" % path) assert props["cmis:createdBy"] == login # get content content = rh.getContent("%s/test.txt" % path) assert content == "Well, that's all folks." # add a tag to the document rh.addTag("workspace", "SpacesStore", idObject, "tag_test") assert "tag_test" in rh.getNodeTags("workspace", "SpacesStore", idObject) # list document in folder children = rh.getChildren(path) assert children[0]["cmis:name"] == "test.txt" # create a group and apply a policy to the test folder rh.addRootGroup(u"GROUP_TEST") acl = {} acl[u'GROUP_TEST'] = [([u"{http://www.alfresco.org/model/content/1.0}cmobject.Consumer",], True),] rh.applyACL(path, acl) # create a new user, insert the user in the group rh.addPerson("supermario", "mario", "super", "supermario@nintendo.com", "imsuper") rh.addGroupOrUserToGroup(u"supermario", u"GROUP_TEST") # some check users = rh.listChildAuthorities(u"GROUP_TEST") assert len(users) == 1 assert users[0]['fullName'] == "supermario" # restore initial status rh.removeAuthorityFromGroup(u"supermario", u"GROUP_TEST") rh.deletePerson("supermario") acl = {} rh.applyACL(path, acl) rh.deleteRootGroup(u"GROUP_TEST") # remove tag from the file object rh.deleteTag("workspace", "SpacesStore", idObject, "tag_test") assert "tag_test" not in rh.getNodeTags("workspace", "SpacesStore", idObject) # delete the file object rh.deleteObject(idObject) # logout rh.logout()
Changelogs 0.9.3
addTag
deleteTag
Changelogs 0.9.2c (bugfix: upload binary files works)
createFolder
getNodeTags (get all the tags for a node)
Changelogs 0.9.1
upload (upload file content and meta-data into repository)
delete file (delete the specified object)
getChildren (gets the list of child objects contained in the specified folder)
getContent (gets the content stream for the specified document)
getProperties (gets the properties for the object)
Road to 1.0
Create / Move a Folder or Document (createDocument, createFolder, createPolicy, moveObject)
Write Content (setContent)
Delete Content (deleteContent)
Get Content (getContent)
Get Folder Children (getChildren)
Road to 1.1
Get Checked Out Documents (getCheckedOutDocs)
Checkout Document (checkOut)
Cancel Checkout (cancelCheckout)
Checkin Private Working Copy (checkin)
Contacts
For more info and requests: tiziano [at] axiastudio.it
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file alfREST-0.9.3b.tar.gz
.
File metadata
- Download URL: alfREST-0.9.3b.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b4372a0f1ecd2333dfd41c1e6c5f74f9e403cd5205da11547557b34c0686e51 |
|
MD5 | c7e272ea586712bf4b278e5b169bed49 |
|
BLAKE2b-256 | 6993ecb4310b259c72702b11d217770dc925604f6ee48c5c3b8eb4365684a26c |