ajout du nombre traité, et log des erreurs éventuelles
authorolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Tue, 21 Sep 2010 14:08:23 +0000 (10:08 -0400)
committerolivier larcheveque <olivier.larcheveque@u-ol.(none)>
Tue, 21 Sep 2010 14:08:23 +0000 (10:08 -0400)
auf_savoirs_en_partage/savoirs/admin.py
auf_savoirs_en_partage/savoirs/lib/harvest.py
auf_savoirs_en_partage/savoirs/models.py

index 3aa776b..6810801 100644 (file)
@@ -145,7 +145,7 @@ class ListSetAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
 admin.site.register(ListSet, ListSetAdmin)
 
 class HarvestLogAdmin(ReadOnlyAdminFields, admin.ModelAdmin):
-    fields = ['context', 'name', 'added', 'updated', 'record']
+    fields = ['context', 'name', 'added', 'updated', 'processed', 'record']
     list_display = fields + ['date']
     admin_order_fields = ['date']
     search_fields = fields
index fc5b02b..aebba78 100644 (file)
@@ -41,17 +41,23 @@ def import_all ():
         added = updated = 0
         for node in nodes:
             node['server'] = name
-            status = sep.add (node)
-            
+
+            try:
+                status = sep.add (node)
+            except:
+                message.update({'context':'error', 'name':name, 'processed':0})
+                HarvestLog.add(message)
+                continue
+
             if status['added']:
                 added += 1
             if status['updated']:
                 updated += 1
             message = status
-            message.update({'context':'record', 'name':name})
+            message.update({'context':'record', 'name':name, 'processed':1})
             HarvestLog.add(message)
 
-        message = {'context':'moisson', 'name':name, 'added':added, 'updated':updated}
+        message = {'context':'moisson', 'name':name, 'added':added, 'updated':updated, 'processed':len(nodes)}
         HarvestLog.add(message)
 
     del (sep)
index 036096a..0d2123e 100644 (file)
@@ -158,6 +158,7 @@ class HarvestLog(models.Model):
     date = models.DateTimeField(auto_now = True)
     added = models.IntegerField(null = True, blank = True)
     updated = models.IntegerField(null = True, blank = True)
+    processed = models.IntegerField(null = True, blank = True)
     record = models.ForeignKey(Record, null = True, blank = True)
 
     @staticmethod