Correctifs + harvest pour une seule source
authorCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Wed, 4 Aug 2010 15:28:17 +0000 (11:28 -0400)
committerCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Wed, 4 Aug 2010 15:28:17 +0000 (11:28 -0400)
.gitignore
auf_savoirs_en_partage/backend_config.py [deleted file]
auf_savoirs_en_partage/backend_config.py.edit
auf_savoirs_en_partage/savoirs/lib/backend/sql.py
auf_savoirs_en_partage/savoirs/lib/harvest.py
auf_savoirs_en_partage/savoirs/lib/harvesters/oai/generic.py
auf_savoirs_en_partage/savoirs/lib/sep.py
auf_savoirs_en_partage/scripts/articles.in
auf_savoirs_en_partage/scripts/harvest.in

index 99542ac..31660ce 100644 (file)
@@ -17,6 +17,7 @@
 
 # Configuration du projet - par environnement
 conf.py
+backend_config.py
 django.wsgi
 
 # buildout
diff --git a/auf_savoirs_en_partage/backend_config.py b/auf_savoirs_en_partage/backend_config.py
deleted file mode 100644 (file)
index f5aa5f3..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-# -*- encoding: utf-8 -*-
-
-### Configuration de SEP
-
-# Sources de données
-RESOURCES = {
-    'CRITAOI': {
-        'type': 'oai',
-        'acces': 'generic',
-        'url': 'http://biblio.critaoi.auf.org/'
-    },
-#    'Archives ouvertes du Moyen-Orient': {
-#        'type': 'oai',
-#        'acces': 'generic',
-#        'url': 'http://hal-confremo.archives-ouvertes.fr/'
-#    },
-#    'CECA': {
-#        'type': 'oai',
-#        'acces': 'generic',
-#        'url': 'http://ceca.auf.org/',
-#    },
-#    'Revue-signes': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.revue-signes.info/',
-#    },
-#    'ERGI': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.revue-genie-industriel.info/',
-#    },
-#    'e-Santé': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.revue-esante.info/',
-#    },
-#    'Radisma': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.radisma.info/',
-#    },
-#    'RMNSci.net': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.rmnsci.net/',
-#    },
-#    'Urbamag': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.urbamag.net/',
-#    },
-#    'Afrique Science': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.afriquescience.info/',
-#    },
-#    'e-Ti': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.revue-eti.net/',
-#    },
-#    'Taloha': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.taloha.info/',
-#    },
-#    'TDR': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.revue-tice.info/',
-#    },
-#    'Exchorésis': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://exchoresis.refer.ga/',
-#    },
-#    'Annales des sciences agronomiques du Bénin': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.annales-fsa.bj.refer.org/',
-#    },
-#    'Bulletin des OSCB': {
-#        'type': 'lodel',
-#        'acces': 'html',
-#        'url': 'http://www.osc.bj.refer.org/',
-#    },
-#    'Bibliothèque Numérique de Ouagadougou': {
-#        'type': 'oai',
-#        'acces': 'generic',
-#        'url': 'http://greenstone.bf.refer.org/'
-#    },
-}
-
index 4e14112..f5aa5f3 100644 (file)
@@ -2,10 +2,6 @@
 
 ### Configuration de SEP
 
-# Configuration générale
-DB_URI = ''
-
-
 # Sources de données
 RESOURCES = {
     'CRITAOI': {
@@ -13,119 +9,85 @@ RESOURCES = {
         'acces': 'generic',
         'url': 'http://biblio.critaoi.auf.org/'
     },
-    'Archives ouvertes du Moyen-Orient': {
-        'type': 'oai',
-        'acces': 'generic',
-        'url': 'http://hal-confremo.archives-ouvertes.fr/'
-    },
-    'CECA': {
-        'type': 'oai',
-        'acces': 'generic',
-        'url': 'http://ceca.auf.org/',
-    },
-    'Bibliothèque Numérique de Ouagadougou': {
-        'type': 'oai',
-        'acces': 'generic',
-        'server': 'greenstone.refer.bf',
-        'port': 80,
-        'base_url': '/', # Finir par /
-    },
-    'Revue-signes': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.revue-signes.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'ERGI': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.revue-genie-industriel.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'e-Santé': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.revue-esante.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Radisma': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.radisma.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'RMNSci.net': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.rmnsci.net',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Urbamag': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.urbamag.net',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Afrique Science': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.afriquescience.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'e-Ti': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.revue-eti.net',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Taloha': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.taloha.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'TDR': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.revue-tice.info',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Exchorésis': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'exchoresis.refer.ga',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Annales des sciences agronomiques du Bénin': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.annales-fsa.bj.refer.org',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Bulletin des OSCB': {
-        'type': 'lodel',
-        'acces': 'html',
-        'server': 'www.osc.bj.refer.org',
-        'port': 80,
-        'base_url': '/',
-    },
-    'Bibliothèque Numérique de Ouagadougou': {
-        'type': 'oai',
-        'acces': 'generic',
-        'url': 'http://greenstone.bf.refer.org/'
-    },
+#    'Archives ouvertes du Moyen-Orient': {
+#        'type': 'oai',
+#        'acces': 'generic',
+#        'url': 'http://hal-confremo.archives-ouvertes.fr/'
+#    },
+#    'CECA': {
+#        'type': 'oai',
+#        'acces': 'generic',
+#        'url': 'http://ceca.auf.org/',
+#    },
+#    'Revue-signes': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.revue-signes.info/',
+#    },
+#    'ERGI': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.revue-genie-industriel.info/',
+#    },
+#    'e-Santé': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.revue-esante.info/',
+#    },
+#    'Radisma': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.radisma.info/',
+#    },
+#    'RMNSci.net': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.rmnsci.net/',
+#    },
+#    'Urbamag': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.urbamag.net/',
+#    },
+#    'Afrique Science': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.afriquescience.info/',
+#    },
+#    'e-Ti': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.revue-eti.net/',
+#    },
+#    'Taloha': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.taloha.info/',
+#    },
+#    'TDR': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.revue-tice.info/',
+#    },
+#    'Exchorésis': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://exchoresis.refer.ga/',
+#    },
+#    'Annales des sciences agronomiques du Bénin': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.annales-fsa.bj.refer.org/',
+#    },
+#    'Bulletin des OSCB': {
+#        'type': 'lodel',
+#        'acces': 'html',
+#        'url': 'http://www.osc.bj.refer.org/',
+#    },
+#    'Bibliothèque Numérique de Ouagadougou': {
+#        'type': 'oai',
+#        'acces': 'generic',
+#        'url': 'http://greenstone.bf.refer.org/'
+#    },
 }
 
-
index 24152ac..2d9dcf1 100644 (file)
@@ -131,7 +131,8 @@ class Backend:
             elif q.get (URI) is not None:
                 s = []
                 try:
-                    s.append((Record.objects.get(uri__iexact = q).id, 1))
+                    s.append((Record.objects.get(uri__iexact = \
+                                                 "\"" + q.get(URI) + "\"").id, 1))
                     rc.append(s)
                 except: pass
             # Recherche avancée
index 835a57e..09d646d 100644 (file)
@@ -12,7 +12,16 @@ def import_all ():
     """
     sep = SEP ()
 
-    for name in RESOURCES.keys ():
+    resources = RESOURCES
+    if len(sys.argv) == 2:
+        name = sys.argv[1]
+        if RESOURCES.get(name) is not None:
+            resources = {name: RESOURCES.get(name)}
+        else:
+            print "Ressource %s non existante" % name
+            sys.exit(-1)
+
+    for name in resources.keys ():
         print "Import:", name
         options = RESOURCES[name]
         module = 'harvesters.%s.%s' \
index d961005..9b1d48b 100644 (file)
@@ -63,7 +63,7 @@ def load_xml (url):
     content = content.replace ("\"http://www.openarchives.com/OAI/2.0\"",
                                "\"http://www.openarchives.org/OAI/2.0/\"")
 
-    pattern = re.compile(r"<([/:\w]+)>", re.I|re.U)
+    pattern = re.compile(r"<([/:\w]+)[>\s]", re.I|re.U)
     content = pattern.sub(lambda m: m.group(0).lower(), content)
 
     # Other crap
index be66e73..071f9f0 100644 (file)
@@ -46,10 +46,9 @@ class SEP:
 
         Retourne l'id de la ressource créée ou mise à jour.
         """
-        #print metadata
         exists = self.search (q = {URI: metadata[URI]})
         if len (exists) > 0:
-            id = exists[0]
+            id = exists[0][0]
             return self.update (int(id), metadata)
         else:
             return self.backend.add (metadata)
index 0fe219c..180471e 100644 (file)
@@ -4,7 +4,7 @@
 import sys, os, glob
 sys.path[0:0] = [
   "%(directory)s",
-  "%(directory)s/auf_savoirs_en_partage_django",
+  "%(directory)s/auf_savoirs_en_partage",
   ]
 os.environ['DJANGO_SETTINGS_MODULE'] = 'production'
 for d in glob.glob("%(directory)s/eggs/*"):
index 2ade15d..5457eb6 100644 (file)
@@ -12,7 +12,7 @@ sys.path[0:0] = [
 for d in glob.glob("%(directory)s/eggs/*"):
     sys.path[0:0] = [d,]
 
-os.environ['DJANGO_SETTINGS_MODULE'] = 'development'
+os.environ['DJANGO_SETTINGS_MODULE'] = 'production'
 
 
 from auf_savoirs_en_partage.savoirs.lib.harvest import import_all