skip to navigation
skip to content

Not Logged In

alfREST 0.9.3

Alfresco REST web services client library for python

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

 
File Type Py Version Uploaded on Size
alfREST-0.9.3b.tar.gz (md5) Source 2012-11-12 20KB
  • Downloads (All Versions):
  • 55 downloads in the last day
  • 325 downloads in the last week
  • 1277 downloads in the last month