Skip to main content

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alfREST-0.9.3b.tar.gz (21.0 kB view details)

Uploaded Source

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

Hashes for alfREST-0.9.3b.tar.gz
Algorithm Hash digest
SHA256 0b4372a0f1ecd2333dfd41c1e6c5f74f9e403cd5205da11547557b34c0686e51
MD5 c7e272ea586712bf4b278e5b169bed49
BLAKE2b-256 6993ecb4310b259c72702b11d217770dc925604f6ee48c5c3b8eb4365684a26c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.9.3 This release

1 file

0.9.2

1 file

0.9.1

1 file

0.9

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page