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
def full_address
[address, city, related_region.name].compact.join ', '
[address, city, related_region.try(:name)].compact.join ', '
end
def hashtags

View File

@ -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}")

View File

@ -1 +1 @@
3.0
3.1

View File

@ -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.</p>
]]></description>
<address>Place de la république</address>
<city>Rennes</city>
<region>Bretagne</region>
<url>http://www.gulliver.eu.org</url>
@ -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)