Travail sur le script de soumission en masse

This commit is contained in:
echarp 2014-10-05 12:57:46 +02:00
parent 8f294c9688
commit c67ab1f1c0
4 changed files with 31 additions and 28 deletions

View File

@ -88,7 +88,7 @@ class Event < ActiveRecord::Base
end end
def full_address def full_address
[address, city, related_region.name].compact.join ', ' [address, city, related_region.try(:name)].compact.join ', '
end end
def hashtags def hashtags

View File

@ -43,7 +43,7 @@
%span= @event.address %span= @event.address
%span= link_to @event.city, "http://fr.wikipedia.org/wiki/#{url_encode @event.city}" %span= link_to @event.city, "http://fr.wikipedia.org/wiki/#{url_encode @event.city}"
%span= link_to @event.related_region.try(:name), %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 - if @event.latitude && @event.longitude
#map(latitude="#{@event.latitude}" longitude="#{@event.longitude}") #map(latitude="#{@event.latitude}" longitude="#{@event.longitude}")

View File

@ -1 +1 @@
3.0 3.1

View File

@ -25,10 +25,13 @@ import re
import time import time
import locale import locale
baseUrl = "http://www.agendadulibre.org/"
#baseUrl = "http://localhost:3000/"
locale.setlocale(locale.LC_ALL, ('fr_FR', 'utf-8')) locale.setlocale(locale.LC_ALL, ('fr_FR', 'utf-8'))
eventFields = [ "title", "start-date", "end-date", "start-hour", eventFields = [ "title", "start-date", "end-date", "start-hour",
"end-hour", "description", "city", "region", "end-hour", "description", "address", "city", "region",
"url", "contact", "submitter", "tags" ] "url", "contact", "submitter", "tags" ]
regions = { regions = {
@ -61,9 +64,6 @@ regions = {
u'Autre' : 27 u'Autre' : 27
} }
baseUrl = "http://www.agendadulibre.org/"
#baseUrl = "http://localhost:3000/"
def Usage(): def Usage():
print u"""Soumettre un évènement dans l'Agenda du Libre 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. --end-hour HH:MM Heure de fin de l'évènement.
--title chaine Titre de l'évènement. --title chaine Titre de l'évènement.
--description chaine-html Description 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. --city chaine Ville de l'évènement.
--region entier Région de l'évènement. --region entier Région de l'évènement.
--url chaine URL décrivant l'évènement. --url chaine URL décrivant l'évènement.
@ -110,6 +111,7 @@ Exemple de fichier XML:
rue des Plantes à Rennes.</p> rue des Plantes à Rennes.</p>
]]></description> ]]></description>
<address>Place de la république</address>
<city>Rennes</city> <city>Rennes</city>
<region>Bretagne</region> <region>Bretagne</region>
<url>http://www.gulliver.eu.org</url> <url>http://www.gulliver.eu.org</url>
@ -120,7 +122,7 @@ Exemple de fichier XML:
Valeurs des champs: Valeurs des champs:
Le fichier XML peut contenir des champs dont le nom est semblable Le fichier XML peut contenir des champs dont le nom est semblable
à celui des options, à savoir start-date, end-date, à 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 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 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 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) curl.setopt(curl.WRITEFUNCTION, contents.write)
if testOutputFile: if testOutputFile:
curl.setopt (curl.URL, baseUrl + 'events?visu=true') curl.setopt (curl.URL, baseUrl + 'events/preview')
else: else:
curl.setopt (curl.URL, baseUrl + 'events') curl.setopt (curl.URL, baseUrl + 'events')
curl.setopt(curl.HTTPPOST, [('authenticity_token', str(getAuthToken(baseUrl+'events/new'))), curl.setopt(curl.HTTPPOST, [('authenticity_token', str(getAuthToken(baseUrl+'events/new'))),
('event[title]', event['title'].encode('utf-8')), ('event[title]', event['title'].encode('utf-8')),
('event[start_time(3i)]', str(startDate[2])), ('event[start_time(3i)]', str(startDate[2])),
('event[start_time(2i)]', str(startDate[1])), ('event[start_time(2i)]', str(startDate[1])),
('event[start_time(1i)]', str(startDate[0])), ('event[start_time(1i)]', str(startDate[0])),
('event[start_time(4i)]', str(startDate[3])), ('event[start_time(4i)]', str(startDate[3])),
('event[start_time(5i)]', str(startDate[4])), ('event[start_time(5i)]', str(startDate[4])),
('event[end_time(3i)]', str(endDate[2])), ('event[end_time(3i)]', str(endDate[2])),
('event[end_time(2i)]', str(endDate[1])), ('event[end_time(2i)]', str(endDate[1])),
('event[end_time(1i)]', str(endDate[0])), ('event[end_time(1i)]', str(endDate[0])),
('event[end_time(4i)]', str(endHour[3])), ('event[end_time(4i)]', str(endHour[3])),
('event[end_time(5i)]', str(endHour[4])), ('event[end_time(5i)]', str(endHour[4])),
('event[description]', event['description'].encode('utf-8')), ('event[description]', event['description'].encode('utf-8')),
('event[city]', event['city'].encode('utf-8')), ('event[address]', event['address'].encode('utf-8')),
('event[region]', str(regions[event['region']])), ('event[city]', event['city'].encode('utf-8')),
('event[locality]', str(0)), ('event[region]', str(regions[event['region']])),
('event[url]', event['url'].encode('utf-8')), ('event[locality]', str(0)),
('event[contact]', event['contact'].encode('utf-8')), ('event[url]', event['url'].encode('utf-8')),
('event[submitter]', event['submitter'].encode('utf-8')), ('event[contact]', event['contact'].encode('utf-8')),
('event[tags]', event['tags'].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.COOKIEJAR, '/tmp/cookie.txt')
curl.setopt(pycurl.COOKIEFILE, '/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.setopt (curl.URL, baseUrl + './adl-submit-latest-version')
curl.perform() curl.perform()
if curl.getinfo(curl.HTTP_CODE) == 200: 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"Votre script n'est plus à jour, merci de télécharger la nouvelle version à l'adresse"
print u"%sadl-submit.py" % baseUrl print u"%sadl-submit.py" % baseUrl
sys.exit(1) sys.exit(1)