Scripts avec buildout
authorCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Mon, 21 Jun 2010 14:52:16 +0000 (10:52 -0400)
committerCyril Robert <Cyril Robert cyrilrbt@gmail.com>
Mon, 21 Jun 2010 14:52:16 +0000 (10:52 -0400)
auf_savoirs_en_partage_django/savoirs/admin.py
auf_savoirs_en_partage_django/savoirs/models.py
auf_savoirs_en_partage_django/scripts/articles.in [new file with mode: 0644]
auf_savoirs_en_partage_django/scripts/harvest.in [new file with mode: 0644]
auf_savoirs_en_partage_django/settings.py
buildout.cfg

index e73e961..cc4750d 100644 (file)
@@ -1,8 +1,9 @@
 # -*- encoding: utf-8 -*-
 from django.contrib import admin
-from models import Actualite, Discipline, Evenement
+from models import SourceActualite, Actualite, Discipline, Evenement
 
 admin.site.register(Actualite)
+admin.site.register(SourceActualite)
 admin.site.register(Discipline)
 admin.site.register(Evenement)
 
index 2fc6b10..301a724 100644 (file)
@@ -15,6 +15,10 @@ class Discipline(models.Model):
         db_table = u'discipline'
         ordering = ["nom",]
 
+class SourceActualite(models.Model):
+    nom = models.CharField(max_length=255)
+    url = models.CharField(max_length=255)
+
 class Actualite(models.Model):
     id = models.IntegerField(primary_key=True, db_column='id_actualite')
     titre = models.CharField(max_length=765, db_column='titre_actualite')
diff --git a/auf_savoirs_en_partage_django/scripts/articles.in b/auf_savoirs_en_partage_django/scripts/articles.in
new file mode 100644 (file)
index 0000000..6c3ec46
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+
+import sys, os, glob
+sys.path[0:0] = [
+  "%(directory)s",
+  "%(directory)s/auf_savoirs_en_partage_django",
+  ]
+os.environ['DJANGO_SETTINGS_MODULE'] = 'production'
+for d in glob.glob("%(directory)s/eggs/*"):
+    sys.path[0:0] = [d,]
+
+from django.conf import settings
+from savoirs.models import SourceActualite, Actualite
+import feedparser, datetime
+
+sources = [x.url for x in SourceActualite.objects.all()]
+for url in sources:
+    d = feedparser.parse(url)
+    for entry in d.entries:
+        if len(Actualite.objects.filter(url = entry.link)) == 0:
+            print entry.updated_parsed
+            ts = entry.updated_parsed
+            date = datetime.date(ts.tm_year, ts.tm_mon, ts.tm_mday)
+            print date
+            a = Actualite(titre = entry.title, 
+                          texte = entry.summary_detail.value,
+                          url = entry.link,
+                          logo = '',
+                          date = date,
+                          visible = '0',
+                          ancienid = 0)
+            print a.save()
diff --git a/auf_savoirs_en_partage_django/scripts/harvest.in b/auf_savoirs_en_partage_django/scripts/harvest.in
new file mode 100644 (file)
index 0000000..c466462
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+# -*- encoding: utf-8 -*-
+
+import sys, os, glob
+sys.path[0:0] = [
+  "%(directory)s",
+  "%(directory)s/auf_savoirs_en_partage_django",
+  ]
+for d in glob.glob("%(directory)s/eggs/*"):
+    sys.path[0:0] = [d,]
+
+from auf_savoirs_en_partage_backend.harvest.harvest import import_all
+
+import_all()
index 542769c..7472efb 100644 (file)
@@ -46,7 +46,6 @@ INSTALLED_APPS = (
     'django.contrib.admin',
     'django_roa',
     'timezones',
-    'auf_roa_authentification_backend',
     'savoirs',
 )
 
@@ -60,19 +59,9 @@ TEMPLATE_DIRS = (
 )
 
 AUTHENTICATION_BACKENDS = (
-    'auf_roa_authentification_backend.backends.CascadeBackend',
+    'auf_references_client.backends.CascadeBackend',
 )
-AUTH_PASSWORD_REQUIRED=True
-ROA_MODELS = True   # set to False if you'd like to develop/test locally
-ROA_FORMAT = 'django'
-ROA_HEADERS = {
-    'Content-Type': 'application/x-www-form-urlencoded',
-}
-ROA_DJANGO_ERRORS = True # useful to ease debugging if you use test server
-
-ROA_BASE_URL = 'https://authentification.auf.org/auth/'
-ROA_CUSTOM_ARGS = {'api-key': ROA_API_KEY}
+AUTH_PASSWORD_REQUIRED = True
 
-SERIALIZATION_MODULES = {
-    'django' : 'auf_roa_authentification_backend.serializers',
-}
+ROA_CUSTOM_ARGS = {'api-key': ROA_API_KEY}
+from auf_references_client.settings import *
index 4868ceb..7b90eb7 100644 (file)
@@ -1,8 +1,9 @@
 [buildout]
-parts = django
+parts = django articles harvest
 find-links = http://pypi.auf.org/auf_savoirs_en_partage_backend/
-    http://pypi.auf.org/auf_roa_authentification_backend/
     http://pypi.auf.org/caldav/
+    http://pypi.auf.org/auf_references_client/
+    http://pypi.auf.org/auf_references_modeles/
 
 [django]
 recipe = djangorecipe
@@ -12,7 +13,17 @@ wsgi = true
 settings = production
 extra-paths = auf_savoirs_en_partage_django
 eggs = auf_savoirs_en_partage_backend
-    auf_roa_authentification_backend
+    auf_references_client
     caldav
     pytz
     django-timezones
+
+[articles]
+recipe = buildout_script
+template_dir = ${buildout:directory}/auf_savoirs_en_partage_django/scripts/
+template = articles.in
+
+[harvest]
+recipe = buildout_script
+template_dir = ${buildout:directory}/auf_savoirs_en_partage_django/scripts/
+template = harvest.in