Objet : devel-adl
Archives de la liste
- From: svn AT agendadulibre.org
- To: devel AT agendadulibre.org
- Subject: [Devel] r180 - scripts
- Date: Sun, 9 Jul 2006 19:01:04 +0200 (CEST)
- List-archive: <http://lolut.utbm.info/pipermail/devel>
- List-id: Developpement de l'Agenda du Libre <devel.agendadulibre.org>
Author: thomas
Date: Sun Jul 9 19:01:03 2006
New Revision: 180
Modified:
scripts/adl-submit.py
Log:
* adl-submit.py:
- Ajout de l'option --test-output.
Modified: scripts/adl-submit.py
==============================================================================
--- scripts/adl-submit.py (original)
+++ scripts/adl-submit.py Sun Jul 9 19:01:03 2006
@@ -66,6 +66,7 @@
Options:
--file event.xml Fichier XML décrivant l'évènement.
+ --test-output test.html Fichier de sortie HTML de test
--start-date YYYY-MM-DD Date de début de l'évènement.
--end-date YYYY-MM-DD Date de fin de l'évènement.
--start-hour HH:MM Heure de début de l'évènement.
@@ -131,6 +132,14 @@
le champ end-date n'est pas spécifié, alors il vaudra la
même chose que start-date, c'est à dire le 10 décembre
2005.
+
+ Pour vérifier que le formatage est correct avant l'envoi,
+ on pourra utiliser:
+
+ ./adl-submit.py --file event.xml --start-date 2005-12-10
+ --test-output test.html
+
+ et regarder le fichier test.html avec un navigateur Web.
"""
sys.exit (1)
@@ -152,8 +161,11 @@
getoptOptions = map (lambda elt: elt + "=", eventFields)
getoptOptions.append ("file=")
getoptOptions.append ("help")
+ getoptOptions.append("test-output=")
eventFieldValues = {}
+ testOutputFile = ""
+
try:
opts, args = getopt.getopt(options, "", getoptOptions)
except getopt.GetoptError:
@@ -171,12 +183,16 @@
HandleXmlFile(val, eventFieldValues)
opts.remove ((param, val))
+ if param == "--test-output":
+ testOutputFile = val
+ opts.remove ((param, val))
+
for param, val in opts:
HandleParamValue (param, val, eventFieldValues)
- return eventFieldValues
+ return (eventFieldValues, testOutputFile)
-def SubmitEvent(event):
+def SubmitEvent(event, testOutputFile):
if event.has_key ("start-date") is False:
print u"La date de début de l'évènement n'est pas spécifiée"
@@ -251,8 +267,14 @@
return
curl = pycurl.Curl()
+
contents = StringIO.StringIO()
- curl.setopt (curl.URL, baseUrl + '/submit.php')
+ curl.setopt(curl.WRITEFUNCTION, contents.write)
+
+ if testOutputFile:
+ curl.setopt (curl.URL, baseUrl + './testevent.php')
+ else:
+ curl.setopt (curl.URL, baseUrl + '/submit.php')
curl.setopt(curl.HTTPPOST, [('__event_title',
str(event['title'])),
('__event_start_day', str(startDate[2])),
@@ -273,15 +295,21 @@
('__event_contact',
str(event['contact'])),
('__event_save', str(1))])
- curl.setopt(curl.WRITEFUNCTION, contents.write)
curl.perform()
if curl.getinfo(curl.HTTP_CODE) != 200:
print u"Erreur lors de la soumission de l'évènement"
else:
print u"Évènement soumis avec succès. Il sera prochainement validé par
un modérateur."
+ if testOutputFile:
+ fp = open(testOutputFile, "wb")
+ s = contents.getvalue()
+ s = re.sub(r'href="([A-Za-z0-9]*).css"',
r'href="http://www.agendadulibre.org/\1.css"', s)
+ fp.write(s)
+ fp.close()
+
if (len(sys.argv) == 1) and sys.argv[1] == "--help":
Usage()
-event = ParseOptions(sys.argv[1:])
-SubmitEvent(event)
+(event, testOutputFile) = ParseOptions(sys.argv[1:])
+SubmitEvent(event, testOutputFile)
- [Devel] r180 - scripts, svn, 09/07/2006
Archives gérées par MHonArc 2.6.16.