From c67ab1f1c02e06c41a661b6d127e9cd9da46d8db Mon Sep 17 00:00:00 2001 From: echarp Date: Sun, 5 Oct 2014 12:57:46 +0200 Subject: [PATCH] Travail sur le script de soumission en masse --- app/models/event.rb | 2 +- app/views/events/show.html.haml | 2 +- public/adl-submit-latest-version | 2 +- public/adl-submit.py | 53 +++++++++++++++++--------------- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/app/models/event.rb b/app/models/event.rb index dabe220f..87a19240 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -88,7 +88,7 @@ class Event < ActiveRecord::Base end def full_address - [address, city, related_region.name].compact.join ', ' + [address, city, related_region.try(:name)].compact.join ', ' end def hashtags diff --git a/app/views/events/show.html.haml b/app/views/events/show.html.haml index c6c37034..0a2c2485 100644 --- a/app/views/events/show.html.haml +++ b/app/views/events/show.html.haml @@ -43,7 +43,7 @@ %span= @event.address %span= link_to @event.city, "http://fr.wikipedia.org/wiki/#{url_encode @event.city}" %span= link_to @event.related_region.try(:name), - "http://fr.wikipedia.org/wiki/#{url_encode @event.related_region.name}" + "http://fr.wikipedia.org/wiki/#{url_encode @event.related_region.try(:name)}" - if @event.latitude && @event.longitude #map(latitude="#{@event.latitude}" longitude="#{@event.longitude}") diff --git a/public/adl-submit-latest-version b/public/adl-submit-latest-version index 9f55b2cc..8c50098d 100644 --- a/public/adl-submit-latest-version +++ b/public/adl-submit-latest-version @@ -1 +1 @@ -3.0 +3.1 diff --git a/public/adl-submit.py b/public/adl-submit.py index 3abf2d7b..179df4fd 100755 --- a/public/adl-submit.py +++ b/public/adl-submit.py @@ -25,10 +25,13 @@ import re import time import locale +baseUrl = "http://www.agendadulibre.org/" +#baseUrl = "http://localhost:3000/" + locale.setlocale(locale.LC_ALL, ('fr_FR', 'utf-8')) eventFields = [ "title", "start-date", "end-date", "start-hour", - "end-hour", "description", "city", "region", + "end-hour", "description", "address", "city", "region", "url", "contact", "submitter", "tags" ] regions = { @@ -61,9 +64,6 @@ regions = { u'Autre' : 27 } -baseUrl = "http://www.agendadulibre.org/" -#baseUrl = "http://localhost:3000/" - def Usage(): print u"""Soumettre un évènement dans l'Agenda du Libre @@ -76,6 +76,7 @@ Options: --end-hour HH:MM Heure de fin de l'évènement. --title chaine Titre de l'évènement. --description chaine-html Description de l'évènement. + --address chaine Position de l'événement (utile pour une carte OSM). --city chaine Ville de l'évènement. --region entier Région de l'évènement. --url chaine URL décrivant l'évènement. @@ -110,6 +111,7 @@ Exemple de fichier XML: rue des Plantes à Rennes.

]]> +
Place de la république
Rennes Bretagne http://www.gulliver.eu.org @@ -120,7 +122,7 @@ Exemple de fichier XML: Valeurs des champs: Le fichier XML peut contenir des champs dont le nom est semblable à celui des options, à savoir start-date, end-date, - start-hour, end-hour, title, description, city, region, url et + start-hour, end-hour, title, description, address, city, region, url et contact. Si un champ est défini à la fois dans le fichier XML et sur la ligne de commande, alors c'est la valeur donnée sur la ligne de commande qui l'emporte. Entre le fichier XML et la ligne de @@ -318,30 +320,31 @@ def SubmitEvent(event, testOutputFile): curl.setopt(curl.WRITEFUNCTION, contents.write) if testOutputFile: - curl.setopt (curl.URL, baseUrl + 'events?visu=true') + curl.setopt (curl.URL, baseUrl + 'events/preview') else: curl.setopt (curl.URL, baseUrl + 'events') - curl.setopt(curl.HTTPPOST, [('authenticity_token', str(getAuthToken(baseUrl+'events/new'))), - ('event[title]', event['title'].encode('utf-8')), - ('event[start_time(3i)]', str(startDate[2])), - ('event[start_time(2i)]', str(startDate[1])), - ('event[start_time(1i)]', str(startDate[0])), - ('event[start_time(4i)]', str(startDate[3])), + curl.setopt(curl.HTTPPOST, [('authenticity_token', str(getAuthToken(baseUrl+'events/new'))), + ('event[title]', event['title'].encode('utf-8')), + ('event[start_time(3i)]', str(startDate[2])), + ('event[start_time(2i)]', str(startDate[1])), + ('event[start_time(1i)]', str(startDate[0])), + ('event[start_time(4i)]', str(startDate[3])), ('event[start_time(5i)]', str(startDate[4])), - ('event[end_time(3i)]', str(endDate[2])), - ('event[end_time(2i)]', str(endDate[1])), - ('event[end_time(1i)]', str(endDate[0])), - ('event[end_time(4i)]', str(endHour[3])), + ('event[end_time(3i)]', str(endDate[2])), + ('event[end_time(2i)]', str(endDate[1])), + ('event[end_time(1i)]', str(endDate[0])), + ('event[end_time(4i)]', str(endHour[3])), ('event[end_time(5i)]', str(endHour[4])), - ('event[description]', event['description'].encode('utf-8')), - ('event[city]', event['city'].encode('utf-8')), - ('event[region]', str(regions[event['region']])), - ('event[locality]', str(0)), - ('event[url]', event['url'].encode('utf-8')), - ('event[contact]', event['contact'].encode('utf-8')), - ('event[submitter]', event['submitter'].encode('utf-8')), - ('event[tags]', event['tags'].encode('utf-8'))]) + ('event[description]', event['description'].encode('utf-8')), + ('event[address]', event['address'].encode('utf-8')), + ('event[city]', event['city'].encode('utf-8')), + ('event[region]', str(regions[event['region']])), + ('event[locality]', str(0)), + ('event[url]', event['url'].encode('utf-8')), + ('event[contact]', event['contact'].encode('utf-8')), + ('event[submitter]', event['submitter'].encode('utf-8')), + ('event[tags]', event['tags'].encode('utf-8'))]) curl.setopt(pycurl.COOKIEJAR, '/tmp/cookie.txt') curl.setopt(pycurl.COOKIEFILE, '/tmp/cookie.txt') @@ -379,7 +382,7 @@ if not testOutputFile: curl.setopt (curl.URL, baseUrl + './adl-submit-latest-version') curl.perform() if curl.getinfo(curl.HTTP_CODE) == 200: - if float(contents.getvalue()) != float('3.0'): + if float(contents.getvalue()) != float('3.1'): print u"Votre script n'est plus à jour, merci de télécharger la nouvelle version à l'adresse" print u"%sadl-submit.py" % baseUrl sys.exit(1)