# -*- encoding: utf-8 -*-
import sys, os, time, traceback
from auf_savoirs_en_partage.backend_config import RESOURCES
+from savoirs.models import HarvestLog
from sep import SEP
def import_all ():
for name in resources.keys ():
print "Import:", name
options = RESOURCES[name]
+ options['server'] = name
+
module = 'harvesters.%s.%s' \
% (options['type'], options['acces'])
__import__ (module)
traceback.print_exc(file=sys.stdout)
print '-'*60
nodes = []
- print "Ajout de", len(nodes), "references"
- print "S:", time.time ()
+
+ added = updated = 0
for node in nodes:
node['server'] = name
- sep.add (node)
- sep.add_log (name, len(nodes))
- print "F:", time.time ()
+
+ 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, 'processed':1})
+ HarvestLog.add(message)
+
+ message = {'context':'moisson', 'name':name, 'added':added, 'updated':updated, 'processed':len(nodes)}
+ HarvestLog.add(message)
del (sep)