SF.net SVN: fclient: [152] trunk/sandbox/fcp/fcp2_0_client.py
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <ju...@us...> - 2008-02-05 15:59:03
|
Revision: 152
http://fclient.svn.sourceforge.net/fclient/?rev=152&view=rev
Author: jurner
Date: 2008-02-05 07:58:32 -0800 (Tue, 05 Feb 2008)
Log Message:
-----------
another comb-over status flags
on error or remove RequestStatus.Comnplete should not be set
Modified Paths:
--------------
trunk/sandbox/fcp/fcp2_0_client.py
Modified: trunk/sandbox/fcp/fcp2_0_client.py
===================================================================
--- trunk/sandbox/fcp/fcp2_0_client.py 2008-02-05 15:21:54 UTC (rev 151)
+++ trunk/sandbox/fcp/fcp2_0_client.py 2008-02-05 15:58:32 UTC (rev 152)
@@ -702,10 +702,12 @@
elif code == consts.ProtocolError.NoSuchPlugin:
if initialRequest.name == consts.Message.PluginInfo:
del self._requests[requestIdentifier]
+ initialRequest['FcStatus'] |= consts.RequestStatus.Error | consts.RequestStatus.Complete | consts.RequestStatus.Removed
self.events.PluginInfoFailed(initialRequest)
return True
elif initialRequest.name == consts.Message.FCPPluginMessage:
del self._requests[requestIdentifier]
+ initialRequest['FcStatus'] |= consts.RequestStatus.Error | consts.RequestStatus.Complete | consts.RequestStatus.Removed
self.events.PluginMessageFailed(initialRequest)
return True
@@ -889,7 +891,7 @@
self.events.RequestCompleted(initialRequest)
else:
initialRequest['FcErrorMessage'] = msg
- initialRequest['FcStatus'] |= consts.RequestStatus.Complete | consts.RequestStatus.Error
+ initialRequest['FcStatus'] |= consts.RequestStatus.Error
self.events.RequestFailed(initialRequest)
return True
@@ -1031,7 +1033,7 @@
if initialRequest is None:
return False
- initialRequest['FcStatus'] |= consts.RequestStatus.Complete | consts.RequestStatus.Error
+ initialRequest['FcStatus'] |= consts.RequestStatus.Error
# Fcp removes requests from queue with Persistence.Connection.. so do we
if initialRequest.params.get('Persistence', consts.Persistence.Connection) == consts.Persistence.Connection:
@@ -1129,6 +1131,7 @@
return False
del self._pluginRequests[requestIdentifier]
+ initialRequest['FcStatus'] |= consts.RequestStatus.Completed
self.events.PluginInfo(msg)
return True
@@ -1137,6 +1140,7 @@
return False
del self._requests[requestIdentifier]
+ initialRequest['FcStatus'] |= consts.RequestStatus.Completed
self.events.PluginMessage(msg)
return True
@@ -1163,8 +1167,7 @@
#TODO:no idea if the node may pass uris with prefixes like 'freenet:'... strip it anyways
insertURI = self.Uri(msg['InsertURI']).uri
requestURI = self.Uri(msg['RequestURI']).uri
-
-
+
createUSK = True if requestIdentifier.startswith(self.IdentifierPrefixGenerateUSK) else False
if createUSK:
insertURI = requestURI.replace(consts.KeyType.SSK, consts.KeyType.USK, 1)
@@ -1176,6 +1179,7 @@
msg['InsertURI'] = insertURI
msg['RequestURI'] = requestURI
msg['FcKeyType'] = keyType
+ msg['FcStatus'] |= consts.RequestStatus.Completed
self.events.KeypairGenerated(msg)
return True
@@ -1231,15 +1235,15 @@
# check if we have running requests
- # assert all requests have completed
- status = consts.RequestStatus.Complete
+ # assert no requests has completed
+ status = consts.RequestStatus.Null
for request in self._requests.values():
tmp_status = request.params.get('FcStatus', consts.RequestStatus.Null)
- if not tmp_status & consts.RequestStatus.Complete:
- status = consts.RequestStatus.Null
+ if not tmp_status & consts.RequestStatus.MaskProcessed:
+ status = consts.RequestStatus.Started
break
- if status == consts.RequestStatus.Complete:
+ if status == consts.RequestStatus.Null:
self._log.info(consts.LogMessages.AllRequestsCompleted)
break
@@ -1574,7 +1578,7 @@
#TODO: persists until connection is closed... can this request be removed?
- # Anyway. It is not listed in consts.Message.ClientRequestMessages,
+ # Anyway. It is not listed in consts.Message.ClientKeyRequestMessages,
# so any attempts will fail (wink)
def subscribeUSK(self, uri, dontPoll=True):
"""Asks the node to notify the client when an USK is updated
@@ -1787,12 +1791,12 @@
@param persistentUserData: (str) persistent user data or None
@param priorityClass: (L{consts.Priority}) new priority or None
- @note: you can use this method to modify requests as listed in L{consts.Message.ClientRequestMessages}.
+ @note: you can use this method to modify requests as listed in L{consts.Message.ClientKeyRequestMessages}.
All attempts to modify other requests will fail
@note: a RequestModified event is triggered as soon as the request has actually been modified
"""
initialRequest = self._requests[requestIdentifier]
- if initialRequest.name not in consts.Message.ClientRequestMessages:
+ if initialRequest.name not in consts.Message.ClientKeyRequestMessages:
raise ValueError('Can not modify request: %s' % initialRequest.name)
msg = self.Message(
@@ -1813,14 +1817,14 @@
"""Removes a request
@param requestIdentifier: (str) identifier of the request to remove
- @note: you can use this method to remove requests as listed in L{consts.Message.ClientRequestMessages}
+ @note: you can use this method to remove requests as listed in L{consts.Message.ClientKeyRequestMessages}
or L{consts.Message.ClientPluginMessages}. All attempts to remove other requests will fail
- @note: if the request is one the requests listed in L{consts.Message.ClientRequestMessages}
+ @note: if the request is one the requests listed in L{consts.Message.ClientKeyRequestMessages}
a RequestRemoved event is triggered as soon as the request has actually been removed
"""
initialRequest = self._requests[requestIdentifier]
- if initialRequest.name in consts.Message.ClientRequestMessages:
- initialRequest['FcStatus'] = consts.RequestStatus.Removed
+ initialRequest['FcStatus'] |= consts.RequestStatus.Removed
+ if initialRequest.name in consts.Message.ClientKeyRequestMessages:
self.sendMessage(
consts.Message.RemovePersistentRequest,
Global=False,
@@ -1838,11 +1842,11 @@
@param requestMessage: (L{fcp2_0_message.Message})
@return: (str) request identifier
- @note: you can use this method to resend requests as listed in L{consts.Message.ClientRequestMessages}
+ @note: you can use this method to resend requests as listed in L{consts.Message.ClientKeyRequestMessages}
or L{consts.Message.ClientPluginMessages}. All attempts to resend other requests will fail
@note: the request passed is not removed in the call. Use L{removeRequest} if necessary
"""
- if requestMessage.name in consts.Message.ClientRequestMessages:
+ if requestMessage.name in consts.Message.ClientKeyRequestMessages:
self._registerRequest(
requestMessage,
requestMessage['FcUserData'],
@@ -1981,6 +1985,7 @@
msg = self.Message(
consts.Message.GetPluginInfo,
FcModified={},
+ FcStatus=consts.RequestStatus.Pending,
Identifier=identifier,
PluginName=pluginName,
Detailed=detailed,
@@ -2001,6 +2006,7 @@
msg = self.Message(
consts.Message.GetPluginInfo,
FcModified={},
+ FcStatus=consts.RequestStatus.Pending,
Identifier=identifier,
PluginName=pluginName,
**params
@@ -2033,6 +2039,7 @@
msg = self.Message(
consts.Message.GenerateSSK,
FcModified={},
+ FcStatus=consts.RequestStatus.Pending,
Identifier=identifier,
)
self._requests[identifier] = msg
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|