]> granicus.if.org Git - python/commitdiff
Class FieldStorage: add two new methods, getfirst() and getlist(),
authorGuido van Rossum <guido@python.org>
Wed, 5 Sep 2001 19:45:34 +0000 (19:45 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 5 Sep 2001 19:45:34 +0000 (19:45 +0000)
that provide a somewhat more uniform interface to getting values.

This is from SF patch #453691.

Lib/cgi.py

index 55ed3d1d6dada790bc885b14b43e01661aa2054f..19304af9eb270be91343a1d78821eaf39300eafc 100755 (executable)
@@ -564,6 +564,28 @@ class FieldStorage:
         else:
             return default
 
+    def getfirst(self, key, default=None):
+        """ Return the first value received."""
+        if self.has_key(key):
+            value = self[key]
+            if type(value) is type([]):
+                return value[0].value
+            else:
+                return value.value
+        else:
+            return default
+
+    def getlist(self, key):
+        """ Return list of received values."""
+        if self.has_key(key):
+            value = self[key]
+            if type(value) is type([]):
+                return map(lambda v: v.value, value)
+            else:
+                return [value.value]
+        else:
+            return []
+
     def keys(self):
         """Dictionary style keys() method."""
         if self.list is None: