w.c.s : gestion des années < 1900 et des fichiers optionnels
authorProgfou <jean-christophe.andre@auf.org>
Wed, 19 Jan 2011 16:32:06 +0000 (23:32 +0700)
committerProgfou <jean-christophe.andre@auf.org>
Wed, 19 Jan 2011 16:32:06 +0000 (23:32 +0700)
wcs/wcs-extract

index d6183d4..338326c 100755 (executable)
@@ -131,8 +131,9 @@ def extract_data(formdef, output_directory):
             elif isinstance(field, BoolField):
                 result[field_name] = (data == 'True')
             elif isinstance(field, DateField):
-                result[field_name] = strftime('%Y-%m-%d', data)
-            elif isinstance(field, FileField):
+                result[field_name] = '%04d-%02d-%02d' % (data.tm_year,
+                                                    data.tm_mon, data.tm_mday)
+            elif isinstance(field, FileField) and data is not None:
                 if '.' in data.orig_filename:
                     extension = data.orig_filename.rpartition('.')[2].lower()
                 else: # il n'y a pas d'extension dans le nom de fichier
@@ -217,7 +218,10 @@ if __name__ == '__main__':
 
     extract_fields(formdef, OUTPUT_DIRECTORY)
 
-    extract_data(formdef, OUTPUT_DIRECTORY)
+    try:
+        extract_data(formdef, OUTPUT_DIRECTORY)
+    except:
+        logging.exception("Interruption du traitement pour cause d'erreur !")
 
     logging.info('Fin.')