artefactual/archivematica-storage-service — pull request #8 by Hwesta (2014-04-16 19:02:06+00:00)
Title: Add LOCKSS-o-matic support

Adds support for LOCKSS (via LOCKSS-o-matic using the SWORD2 API) as an AIP Storage destination. Details found https://www.archivematica.org/wiki/LOCKSS_Integration

In short,
* SS requests a service document from LOM, and parses it for max AU size, and collection to create AIPs in
* If the package is larger than the max AU size, use tar to break the file into chunks
* SS posts an atom entry creation document to LOM, including the URL(s) of the package to be uploaded
* SS parses the returned deposit receipt for the state and edit IRIs
* When package status is updated, query the state IRI for status. If all servers are in agreement, optionally delete local copy of file

Other features added:
* common NSMAP for use with xml
* storage service version function (common/version.py)
* update_package_status function,which queries the space to check the current status of a package. For LOM, will resend atom creation and/or query for the server states
* move_from SS but not move_to
* Package.misc_attributes - for storing information about packages that is only needed in some cases, eg state and edit IRI for LOM

Includes code from #5