summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/modules/wsgi/util.py
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2013-01-03 07:41:14 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2013-01-03 07:41:14 +0000
commit9e1b9e73145e00ea591bd1e0e9777625bad66dc9 (patch)
treec6563988970251cba763364bcddd33ac7fe23970 /sca-cpp/trunk/modules/wsgi/util.py
parent157ca678dee75e7881a0198425d0c8328f0bee04 (diff)
Add support for HTTP patch and application of patch scripts to server and data store components.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1428192 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/modules/wsgi/util.py')
-rw-r--r--sca-cpp/trunk/modules/wsgi/util.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/sca-cpp/trunk/modules/wsgi/util.py b/sca-cpp/trunk/modules/wsgi/util.py
index 24467fd2cb..f630455901 100644
--- a/sca-cpp/trunk/modules/wsgi/util.py
+++ b/sca-cpp/trunk/modules/wsgi/util.py
@@ -60,7 +60,7 @@ def reverse(l):
def isNil(l):
if isinstance(l, streampair):
return l.isNil()
- return l == ()
+ return l is None or l == ()
def isSymbol(v):
return isinstance(v, basestring) and v[0:1] == "'"
@@ -132,11 +132,24 @@ def cons_stream(car, cdr):
def assoc(k, l):
if l == ():
return None
-
if k == car(car(l)):
return car(l)
return assoc(k, cdr(l))
+def delAssoc(k, l):
+ if l == ():
+ return ()
+ if k == car(car(l)):
+ return delAssoc(k, cdr(l))
+ return cons(car(l), delAssoc(k, cdr(l)))
+
+def putAssoc(a, l):
+ if l == ():
+ return (a,)
+ if car(a) == car(car(l)):
+ return cons(a, cdr(l))
+ return cons(car(l), putAssoc(a, cdr(l)))
+
# Currying / partial function application
def curry(f, *args):
return lambda *a: f(*(args + a))