SF.net SVN: fclient: [246] trunk/sandbox/fcp/fcp2_0_requests.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <ju...@us...> - 2008-02-24 11:50:40
|
Revision: 246
http://fclient.svn.sourceforge.net/fclient/?rev=246&view=rev
Author: jurner
Date: 2008-02-24 03:50:43 -0800 (Sun, 24 Feb 2008)
Log Message:
-----------
del
Modified Paths:
--------------
trunk/sandbox/fcp/fcp2_0_requests.py
Modified: trunk/sandbox/fcp/fcp2_0_requests.py
===================================================================
--- trunk/sandbox/fcp/fcp2_0_requests.py 2008-02-24 11:50:25 UTC (rev 245)
+++ trunk/sandbox/fcp/fcp2_0_requests.py 2008-02-24 11:50:43 UTC (rev 246)
@@ -22,6 +22,7 @@
@note: you can upload one or more items of any kind (data, files, redirects), except from directories
wich have to be the only item to upload
+ @note: if you want to upload a single redirect keyType has to be set to L{consts.KeyType.KSK}
"""
PrivateParamNames = ('Data', 'RequestType', 'Name')
@@ -80,7 +81,7 @@
if self.directoryAdded:
raise ValueError('A directory has already been added, no other items allowed')
- if params['RequestType'] == self.RequestTypeDirectory:
+ if params['RequestType'] == consts.RequestType.PutDir:
if self.directoryAdded:
raise ValueError('An item has already been added, no additional directory allowed')
else:
@@ -116,7 +117,7 @@
)
- def addDirectory(name, directory, allowUnreadableFiles=False, defaultName=None):
+ def addDirectory(self, name, directory, allowUnreadableFiles=False, defaultName=None):
"""Adds a directory to be uploaded
@param name: target name
@param directory: (abspath) of the directory to be uploaded
@@ -143,14 +144,14 @@
return self._addItem(
isDefault=isDefault,
- RequestType=sconsts.RequestType.PutFile,
+ RequestType=consts.RequestType.PutFile,
ContentType=contentType,
Filename=filename,
Name=name,
UploadFrom=consts.UploadFrom.Disk,
)
- #TODO: isDefault for redirects???
+
def addRedirect(self, name, redirect, isDefault=False):
"""Adds a redirect to be uploaded
@param name: target name
@@ -161,8 +162,6 @@
isDefault=isDefault,
RequestType=consts.RequestType.PutRedirect,
- ContentType=contentType,
- DataLength=len(data),
Name=name,
TargetURI=redirect,
UploadFrom=consts.UploadFrom.Redirect
@@ -186,7 +185,7 @@
msg = messageClass(consts.Message.ClientPutDiskDir)
params = self.items[0]
for param, value in params.items():
- if value is None or param in PrivateParamNames:
+ if value is None or param in self.PrivateParamNames:
continue
msg[param] = value
@@ -195,18 +194,23 @@
else:
msg = messageClass(consts.Message.ClientPut)
- for param, value in params.items():
- if value is None or param in PrivateParamNames:
+ item = self.items[0]
+ for param, value in item.items():
+ if value is None or param in self.PrivateParamNames:
continue
if param == 'ContentType':
param = 'Metadata.ContentType'
msg[param] = value
- if params['RequestType'] == self.RequestTypeData:
- msg.data = params['Data']
+ # handle some specilal cases
+ if requestType == consts.RequestType.PutData:
+ msg.data = item['Data']
+ elif requestType == consts.RequestType.PutRedirect:
+ if self.keyType != consts.KeyType.KSK:
+ raise ValueError('For redirects keyType must be %s' % consts.KeyType.KSK)
else:
- requestType = consts.PutMultipole
+ requestType = consts.RequestType.PutMultiple
msg = messageClass(consts.Message.ClientPutComplexDir)
data = None
for n, itemParams in enumerate(self.items):
@@ -222,7 +226,7 @@
msg[param] = value
continue
- if value is None or param in PrivateParamNames:
+ if value is None or param in self.PrivateParamNames:
continue
if param == 'ContentType':
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|