SF.net SVN: fclient: [300] trunk/sandbox/fcp2/client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <ju...@us...> - 2008-02-29 13:02:27
|
Revision: 300
http://fclient.svn.sourceforge.net/fclient/?rev=300&view=rev
Author: jurner
Date: 2008-02-29 05:02:31 -0800 (Fri, 29 Feb 2008)
Log Message:
-----------
fixes for resendRequest()
Modified Paths:
--------------
trunk/sandbox/fcp2/client.py
Modified: trunk/sandbox/fcp2/client.py
===================================================================
--- trunk/sandbox/fcp2/client.py 2008-02-27 16:56:03 UTC (rev 299)
+++ trunk/sandbox/fcp2/client.py 2008-02-29 13:02:31 UTC (rev 300)
@@ -2061,8 +2061,42 @@
## SSK ClientPut related methods
##
########################################################
- def sskPutData(self):
- pass
+ def sskPutData(self,
+ data,
+ privateKey,
+
+ contentType=None,
+ dontCompress=None,
+ maxRetries=None,
+ persistence=consts.Persistence.Connection,
+ priorityClass=consts.Priority.Medium,
+ targetFilename=None,
+
+ userData=None,
+ persistentUserData='',
+ ):
+ return self.clientPut(
+ consts.RequestType.PutData,
+ privateKey,
+
+ data=data,
+ persistentUserData=persistentUserData,
+ userData=userData,
+
+ # fcp params
+ ContentType=contentType,
+ DataLength=len(data),
+ #EarlyEncode='false',
+ #GetCHKOnly='false',
+ Global=False,
+ Identifier=None,
+ MaxRetries=maxRetries,
+ DontCompress=dontCompress,
+ Persistence=persistence,
+ PriorityClass=priorityClass,
+ UploadFrom=consts.UploadFrom.Direct,
+ Verbosity=consts.Verbosity.ReportProgress | consts.Verbosity.ReportCompression,
+ )
def sskPutDir(self):
pass
@@ -2234,6 +2268,9 @@
request, it will be removed. The new request will have FcInitTime reset and FcUserData amd FcPersistentUserData
taken over from the old request
+ @note: for SSK and USK puts, the private key is taken from request['FcPrivateKey']. Adjust private (and public
+ key) if necessary
+
@todo: reset init time or not? Currently it is not reset.
"""
requestType = request.get('FcRequestType', consts.RequestType.Null)
@@ -2245,7 +2282,22 @@
oldUserData, request['FcUserData'] = request['FcUserData'], None
newRequest = copy.deepcopy(request)
- # remove and cancel request
+ # reset key if necessary
+ if requestType & consts.RequestType.MaskPut:
+ requestUri = uri.Uri(request['URI'])
+ if requestUri.keyType == consts.KeyType.CHK:
+ newRequest['URI'] = consts.KeyType.CHK
+ elif requestUri.keyType == consts.KeyType.SSK:
+ newRequest['URI'] = request['FcPrivateKey']
+ filename = requestUri.fileName()
+ if filename:
+ newRequest['URI'] += '/' + filename
+ elif requestUri.keyType == consts.KeyType.USK:
+ newRequest['URI'] = request['FcPrivateKey']
+ filename = requestUri.fileName()
+ if filename:
+ newRequest['URI'] += '/' + filename
+
self._registerRequest(
newRequest,
requestType,
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|