extend command line client and client lib to preform requests for publishing/unpublishing objects
Refs #567
Merge branch 'master' of https://code.grnet.gr/git/pithos
Several client and client library minor changes
library:- supply authorization token- several method signature changes for better client support (separate metadata from the rest headers)- extra method for setting container policies (for development assistance)...
correct spelling
extend api to create an object by uploading the hashmap instead of actual data
- enable format parameter in PUT requests on objects- when format is json the api instead of actual data expects a json formatted dictionary (similar to one returned by extended GET responses) containing information about the block identities...
Add account groups, merge into sharing. Fix tests.
Refs #449
Add a dummy authentication middleware
The username - token mapping is stored statically in settings.py
You will need to update your settings.py after this commit.
Update versioning.
- Allow non-integer version identifiers.- Use 'X-Object-Modified-By' to trace the user that created a version.- Fix 'X-Object-Version-Timestamp' header formatting.
Rebuild the database, or:sqlite> alter table versions add column user text;...
Updated permissions support.
Document 'update' parameter. Add to account/container POST.
Fix POST to delete metadata when none is supplied. Add 'update' parameter to update certain meta values only.
- display command usage instead of client usage- include trashed objects in listing using meta filtering
Refs #576
Fix version list and copy from version when the object is deleted.Remove 'public' from permissions.
add command group and create option option sharing
for development assistancefor the time being they just pass the relative headers
Initial permissions support.
Refs #449Refs #595
Fix tests (object HEAD returns 200).
bug fixing update/delete metadata
(sends back to the server only the user defined meta)also bug fixing in client account unset (check for no path provided)Fixes #576
add license & introduce include_trashed parameter(default False) in list_objects
+better metadata handling
instead of setting each time new metadata(by replacing older)lib provides 2 new methods:update: for adding and updating older valuesdelete: for deleting older data+methods for trashing andrestoring an object+new client commands for:...
Add recommended practices/examples in docs.
reads exactly as many bytes from the response as the response content-length
refs to the problem with the trailing \nFixes #567
Bug fixes.
bug fixing in object version copy/moveand object update
Fixes #567
client support from COPY/MOVE from specific versionRefs #567
add version supportRefs #567
slight modifications to support list object versionsRefs #593
Add an X-Object-Size response header
204 responses set Content-Length to 0 and a different header isneeded in order to get the object size.
create zero-length objectsbetter exception handlingRefs #567
Fix manifest and copy/move prefix parsing.
support for account/container HEAD/GET until parametercreate zero-length objectsremove last trailing enter from responseFixes #567
Add template for version list.
Refs #593
Large object support.
Add a simple FUSE backend client
Only supports flat hierarchies for now:the only dirs are containers that can only contain files.
Requires MacFUSE in Mac OS X, Windows not supported.
Remove strip() from tests.
_list() strip data returned from serverbefore further processingFixes #567
_list(...) returns always listin _get_metadata(...) prefix is optional: if not present returns all the metadata
remove leftover comments
client support from chunked transfers, object update and moveFixes #567
fixes chunked transfer data
Document versioning and public objects.
Fixes #593Fixes #595
Versioning extras, including account/container "time machine".
Limit metadata in object headers accessed via /public. Simplify implementation.
Refs #595
Pass account from request URL to backend functions and not request.user.
Support public files.
Use 'X-Object-Public' to mark files as public. Then they can be accessed via the /public URL without authentication.
Fix the #31a1c80d fix.
Fix modification time in accounts/containers.
Advanced versioning support. New backend.
- Everything is versioned in the backend.- Time-controlled account/container listings.- Initial API support with the 'version' parameter in object HEAD/GET.
fix for double matching metadata filtering
#Fixes 451
Fix precondition check replies.
Fixes #567separates the interaction with the api from the command line tool+ some extensions to support more options
Fixes #565
Fixes chunked object post with specific upto range limit
import missing hashlib
Fix Content-Range parsing.
Produce new ETag when updating an object (corrected).
Produce new ETag when updating an object.
Include storage type in container meta/hashmap replies. Minor doc updates.
Document partial object updates and hashmaps.
Refs #563
Handle partial object updates through POST.
Change database placement/naming defaults.
Fix object GET.
minor improvements
add license
additional api tests
Deployment improvements
Move doc to docs. Fix doc compilation warnings.
Add license.
Fixes #577
Provide metadata functions for tags and trash support. Restructure backend to work with blocks and hashmaps.
Include documentation folder, README.
Fix account/container size reporting, zero-length object uploading.
Add unit tests for backend and API
Fixes #451Fixes #453
Implement basic functionality plus some extras
The API is based on the Apr. 15, 2011 release of the OpenStack Object Storage API v1.The implementation is broken up into two layers - frontend (API) and backend (data and metadata handling).The API is documented in the wiki. The following list is copied here for reference....
Update default settings. Minor changes.
Refs #453
Refs #447
#Refs #447
Clean up, sort out logging.
Fixes #447
Make sure unicode strings work for container and object names, as well as metadata (keys and values).
tab2spaceRefs #453
metadata dict accepts non string valuesRefs #447
Merge API and backend.
Allow for account/container metadata.
Merge API and backend container functions