Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-09-25 12:16:16 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-09-25 12:16:16 (GMT)
commita21b989abed211701b5e1340f830d2fc56828456 (patch)
tree3d322a801d521b99e5ef77e4d2e138a452accbce
parent5ea69e14afe5d43dbd1433c61dcbe2ffa36357c2 (diff)
Make copying request more flexisble while sub-calling
-rw-r--r--active_document/commands.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/active_document/commands.py b/active_document/commands.py
index cec88d4..5b0a4d9 100644
--- a/active_document/commands.py
+++ b/active_document/commands.py
@@ -124,15 +124,20 @@ class Request(dict):
self._pos += len(result)
return result
+ def copy(self):
+ request = type(self)()
+ request.access_level = self.access_level
+ request.accept_language = self.accept_language
+ request.commands = self.commands
+ return request
+
def call(self, method, content=None, content_stream=None,
content_length=None, **kwargs):
enforce(self.commands is not None)
- kwargs['method'] = method
- request = type(self)(kwargs)
- request.access_level = self.access_level
- request.accept_language = self.accept_language
- request.commands = self.commands
+ request = self.copy()
+ request.update(kwargs)
+ request['method'] = method
request.content = content
request.content_stream = content_stream
request.content_length = content_length