Travail sur le script de soumission en masse

recurrent
echarp 9 years ago
parent 8f294c9688
commit c67ab1f1c0

@ -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

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

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

Loading…
Cancel
Save