wcs : support TableField & avertis. au lieu d'erreur pour champ inconnu.
authorProgfou <jean-christophe.andre@auf.org>
Mon, 19 Mar 2012 07:05:53 +0000 (14:05 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Mon, 19 Mar 2012 07:05:53 +0000 (14:05 +0700)
wcs/wcs-extract

index e082f74..11d7970 100755 (executable)
@@ -23,7 +23,7 @@ from wcs import publisher
 from wcs.formdef import FormDef
 from wcs.fields import TitleField, CommentField, TextField, \
                        StringField, ItemField, ItemsField, EmailField, \
-                       DateField, FileField, BoolField
+                       DateField, FileField, BoolField, TableField
 
 
 def reduce_to_alnum(s, replacement_char='-'):
@@ -135,7 +135,7 @@ def extract_data(formdef, output_directory):
             if isinstance(field, StringField) or isinstance(field, TextField) \
             or isinstance(field, EmailField) or isinstance(field, ItemField):
                 result[field_name] = data
-            elif isinstance(field, ItemsField):
+            elif isinstance(field, ItemsField) or isinstance(field, TableField):
                 result[field_name] = data # liste => peux-être joindre sur ';'
             elif isinstance(field, BoolField):
                 result[field_name] = (data == 'True')
@@ -161,9 +161,8 @@ def extract_data(formdef, output_directory):
                 result[field_name] = "%s.%s" % (field_name, extension)
                 qfiles[field_name] = data.qfilename
             else:
-                logging.error("Type de champ inconnu '%s' pour '%s' (%s).",
-                            field.__class__.__name__, field.name, field.label)
-                raise RuntimeError
+                logging.warning("Type de champ inconnu '%s' pour '%s' (%s).",
+                            field.__class__.__name__, field_name, field.label)
 
         num_dossier = result['num_dossier']
         nom = reduce_to_alnum(result.get('nom','sans-nom')).upper()