Version stabilisee
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / savoirs / lib / harvest.py
CommitLineData
0cc5f772
CR
1# -*- encoding: utf-8 -*-
2import sys, os, time, traceback
3
4from auf_savoirs_en_partage.backend_config import RESOURCES
5from sep import SEP
6
7
8def import_all ():
9 """Cette méthode effectue l'importation des données pour toutes les
10 sources définies dans `conf.py`, et les ajoute dans le système de stockage
11 en passant par SEP (:doc:`../sep/index`)
12 """
13 sep = SEP ()
14
15 for name in RESOURCES.keys ():
16 print "Import:", name
17 options = RESOURCES[name]
18 module = 'harvesters.%s.%s' \
19 % (options['type'], options['acces'])
20 __import__ (module)
21 harvester = sys.modules[module]
22 try:
23 nodes = harvester.harvest (options)
24 except:
25 print "Exception:"
26 print '-'*60
27 traceback.print_exc(file=sys.stdout)
28 print '-'*60
29 nodes = []
30 print "Ajout de", len(nodes), "references"
31 print "S:", time.time ()
32 for node in nodes:
33 sep.add (node)
34 sep.add_log (name, len(nodes))
35 print "F:", time.time ()
36
37 del (sep)
38
39if __name__ == '__main__':
40 import_all()