applied patch from Stephane Bidoul to add enums to the Python bindings.

* python/generator.py python/tests/tstLastError.py: applied
  patch from Stephane Bidoul to add enums to the Python bindings.
Daniel
diff --git a/python/generator.py b/python/generator.py
index db7be28..0891eed 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -4,6 +4,7 @@
 #
 
 functions = {}
+enums = {} # { enumType: { enumConstant: enumValue } }
 
 import sys
 import string
@@ -137,7 +138,8 @@
                     self.function_return_info = attrs['info']
                 if attrs.has_key('field'):
                     self.function_return_field = attrs['field']
-
+        elif tag == 'enum':
+            enum(attrs['type'],attrs['name'],attrs['value'])
 
     def end(self, tag):
         if debug:
@@ -167,10 +169,13 @@
                 
                 
 def function(name, desc, ret, args, file):
-    global functions
-
     functions[name] = (desc, ret, args, file)
 
+def enum(type, name, value):
+    if not enums.has_key(type):
+        enums[type] = {}
+    enums[type][name] = value
+
 #######################################################################
 #
 #  Some filtering rukes to drop functions/types which should not
@@ -1161,9 +1166,19 @@
 			classes.write("        return ret\n");
 		classes.write("\n");
 
+    #
+    # Generate enum constants
+    #
+    for type,enum in enums.items():
+        classes.write("# %s\n" % type)
+        items = enum.items()
+        items.sort(lambda i1,i2: cmp(long(i1[1]),long(i2[1])))
+        for name,value in items:
+            classes.write("%s = %s\n" % (name,value))
+        classes.write("\n");
+
     txt.close()
     classes.close()
 
-
 buildStubs()
 buildWrappers()