[wiki-lenny/.../doodle] Cration d'un nouveau parser pour des sondages doodle
darcs-hash:20081205190343-bd074-564f728bb9a25ea62af8a889b069a6f4ce7e5881.gz
This commit is contained in:
parent
65a5158dbc
commit
278a018207
2 changed files with 61 additions and 26 deletions
|
@ -1,20 +1,25 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
..
|
||||
.... ............ ........
|
||||
. ....... . .... ..
|
||||
. ... .. .. .. .. ..... . ..
|
||||
.. .. ....@@@. .. . ........ .
|
||||
.. . .. ..@.@@..@@. .@@@@@@@ @@@@@@. ....
|
||||
.@@@@. .@@@@. .@@@@..@@.@@..@@@..@@@..@@@@.... ....
|
||||
@@@@... .@@@.. @@ @@ .@..@@..@@...@@@. .@@@@@. ..
|
||||
.@@@.. . @@@. @@.@@..@@.@@..@@@ @@ .@@@@@@.. .....
|
||||
...@@@.... @@@ .@@.......... ........ ..... ..
|
||||
. ..@@@@.. . .@@@@. .. ....... . .............
|
||||
. .. .... .. .. . ... ....
|
||||
. . .... ............. .. ...
|
||||
.. .. ... ........ ... ...
|
||||
................................
|
||||
_vi
|
||||
<Ii _aa.
|
||||
:I> aZ2^
|
||||
v` .we^
|
||||
. . .. + _2~
|
||||
._auqXZZX ._auqXZZZ` ...._... ~ ._|ii~
|
||||
.aXZZY""^~~ vX#Z?""~~~._=ii|+++++++ii=, _=|+~-
|
||||
JXXX` )XXX' _|i+~ .__..._. +l= -~-
|
||||
SXXo )XZX: |i> ._%i>~~+|ii| .i| ._s_ass,,. ._a%ssssssss
|
||||
-SXZ6,,. )XZX: =l> _li+~` iii| .ii _uZZXX??YZ#Za, uXUX*?!!!!!!!
|
||||
"!XZ#ZZZZZXZXZ` <i> =i: .|ii| .l|.dZXr 4XXo.XXXs,.
|
||||
-~^^^^^^^` -||, +i|=. |ii| :i>:ZXZ( ]XZX.-"SXZUZUXoa,,
|
||||
+l|, ~~|++|++i|||+~:ZXZ( ]ZZX ---~"?Z#m
|
||||
.__;=- ~+l|=____.___, :ZXZ( ]ZXX_________auXX2
|
||||
._||>+~- . -~+~++~~~- :ZXZ( ]ZXZZ#######UX*!"
|
||||
-+-- .>` _
|
||||
.<}` 3;
|
||||
.<l> .Zc
|
||||
.ii^ )Xo
|
||||
]XX
|
||||
|
||||
MoinMoin - Doodle poll parser
|
||||
|
||||
|
@ -55,6 +60,7 @@ class Parser:
|
|||
|
||||
def format(self, f):
|
||||
entries = self.raw.splitlines()
|
||||
stylefmt = 'background-color: %s; border: 1px solid %s;'
|
||||
code = '\n\n<form action="?action=fillpoll&pollname=%s" method="post">' % self.poll_name
|
||||
code += f.table(1)
|
||||
code += f.table_row(1)
|
||||
|
@ -74,13 +80,13 @@ class Parser:
|
|||
resp = re.search(re.escape(choice)+'=?', entry)
|
||||
if resp:
|
||||
disp = entry[resp.end()]
|
||||
if '1' == disp: color= 'green'
|
||||
elif '0' == disp: color= 'red'
|
||||
else: color = 'grey'
|
||||
code += f.table_cell(1,{'style':'background-color: %s;' % color})
|
||||
if '1' == disp: colors= ('#a8ffa6', '#64d06a')
|
||||
elif '0' == disp: colors= ('#ffaca8', '#e88782')
|
||||
else: color = ('grey', 'grey')
|
||||
code += f.table_cell(1,{'style': stylefmt% colors})
|
||||
code += f.text(disp)
|
||||
else:
|
||||
code += f.table_cell(1,{'style':'background-color: grey;'})
|
||||
code += f.table_cell(1,{'style': stylefmt % ('grey', 'grey')})
|
||||
code += f.text('nsp')
|
||||
code += f.table_cell(0)
|
||||
code += f.table_row(0)
|
||||
|
@ -92,9 +98,13 @@ class Parser:
|
|||
|
||||
for choice in self.poll_choices:
|
||||
if isinstance(choice, unicode):
|
||||
name = base64.encodestring(choice.strip().decode('utf-8')).strip('\r\t \n=') # l'utf-8, c'est bien!
|
||||
# l'utf-8, c'est bien! On encode l'unicode en utf-8 avant
|
||||
# de le base64er
|
||||
name = base64.encodestring(choice.strip().decode('utf-8')).strip('\r\t \n=')
|
||||
else:
|
||||
name = base64.encodestring(choice.strip()).strip('\r\t \n=') # mais ça peut bien chier!
|
||||
# Bon, si on n'a pas un unicode, on encode sauvagement, mais
|
||||
# ça peut chier
|
||||
name = base64.encodestring(choice.strip()).strip('\r\t \n=')
|
||||
|
||||
code += f.table_cell(1)
|
||||
code += '<input type="checkbox" name="%s" value="1">' % name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue