00:07 <ccomb> gawel ton truc ça marche super bien mais c'est de l'arnaque :D
00:09 <ccomb> ah quoique non
00:10 <ccomb> non en fait ça déchire
00:57 <ccomb> par contre la variable de session d'upload générée en js coté client et qui sert à générer le nom de fichier, ça sent la faille de sécu à 10km
11:33 <gawel> matin
11:39 <ccomb> faut le balancer sur le cheeseshop après l'avoir renommé en gp.fileupload
11:40 <ccomb> mais faut changer 2 ou 3 trucs avant
11:52 <gawel> :)
11:52 <gawel> pourquoi tu veux que je le renomme ?
11:52 <gawel> c'est bien ainsi
11:52 <ccomb> pour le mettre dans un namespace
11:52 <gawel> boh ça sert a rien
11:53 <ccomb> ca evite les conflits, fileupload c'est un peu trop générique
11:53 <gawel> mouais
11:53 <gawel> enfin bon ouais c'est pas faux
11:55 <ccomb> faut virer jquery aussi et laisser le choix en fournissant juste l'url de status
11:56 <gawel> boh non. si des gens veulent faire le plugin pour d'autre trucs ils feront
11:56 <gawel> faudrait juste l'écrire pour prototype en fait
11:57 <gawel> et rajouter une conf dans le middlware pour le plugin utiliser par exemple
11:58 <gawel> la plupart des gens utilise soit l'un soit l'autre
11:58 <ccomb> l'un ou l'autre quoi
11:58 <gawel> même google :)
11:59 <gawel> je suis en train de recoder le js pour faire un vrai plugin jQuery la
11:59 <gawel> ou y aura un peu de conf
11:59 <gawel> comme ça t'aura juste quelques lignes à ajouter dans un template
11:59 <gawel> et soit ca créer un form de a-Z soit ca utilise un existant
12:00 <ccomb> l'url de status faudrait qu'elle soit en GET
12:00 <gawel> bah non
12:00 <gawel> IE recharge pas les pages ajax en get
12:00 <gawel> ..
12:01 <ccomb> :(
12:01 <gawel> ou alors faudrait un ?random dérrière
12:01 <gawel> donc POST c'est bien
12:02 <ccomb> faut pas quatter un morceau d'url /fileupload_machin/
12:02 <ccomb> j'ai l'impression que je suis en train de perdre ma touche 's'
12:02 <ccomb> proterner, quatter
12:03 <ccomb> ou bien mon doigt déconne
12:04 <ccomb> le tempfile correspond à la requete entière ?
12:04 <gawel> a REMOTE_USER + session
12:05 <gawel> et session si y a pas d'user
12:05 <ccomb> le contenu
12:05 <gawel> ah
12:05 <gawel> non, je penses pas, juste le POST
12:05 <ccomb> du coup je sais pas si on peut mettre un hook pour faire de la détection de virus en amont ?
12:05 <gawel> faut tester dans de vrai appli après
12:05 <gawel> si ca te motive dans zope ca serait le bienvenu :)
12:06 <gawel> ah, ouais. faudrait mettre une possibilité de callback
12:06 <ccomb> théoriquement c'est completement transparent, non ?
12:06 <gawel> théoriquement
12:06 <ccomb> il retransmet le wsgi.input à l'application
12:06 <gawel> mais si l'appli fait un seek(0) ca pète
12:06 <ccomb> pourquoi ?
12:07 <gawel> mais normalement tu sais pas le faire sur un wsgi.input a ce que j'ai vu
12:07 <gawel> parceque il manque les headers http
12:07 <gawel> donc tout est faussé
12:07 <ccomb> ?!
12:07 <gawel> enfin c'est des supposition, j'ai pas encore vraiment tester dans une appli
12:08 <gawel> bah dans une requete http t'as les headers puis le contenu du POST
12:08 <gawel> et au moment ou je read(), les headers sont déjà parsé donc lu dans le wsgi.input
12:08 <gawel> je suis pas a seek(0)
12:09 <gawel> enfin c'est ce que je suppose encore une fois. pas vérifié réelement
12:09 <ccomb> tu veux dire que tu squattes le start_response de l'appli ?
12:10 <ccomb> non
12:10 <ccomb> dans celui que j'avais commencé, j'avais d'abord écrit une mini appli qui uploade vraiment
12:11 <ccomb> je m'étais fait chier à parser le form à la main pour récupérer le fichier
12:11 <gawel> faut tester dans un framework pour être sur en fait
12:11 <ccomb> mais en fait ça marche bien avec cgi.FieldStorage
12:11 <ccomb> 1 ligne au lieu de 15
12:11 <gawel> ah ? t'as testé ?
12:11 <gawel> ah non ok
12:12 <gawel> ouais je me doute :)
12:12 <ccomb> j'essaie de le faire marcher sans javascript
12:12 <gawel> fallait demandé je t'aurais dit :p
12:12 <gawel> ah y a un truc bien
12:12 <ccomb> dans 2 onglets
12:12 <gawel> oh bah y a mieux
12:13 <ccomb> non mais c'est juste pour comprendre la partie session
12:13 <ccomb> j'ai pas capté
12:13 <gawel> 4 lignes de python pour choper le status en boucle :p
12:13 <gawel> bah tout est en js
12:13 <gawel> tu post le form avec un ?file_upload_session=truc
12:14 <gawel> et tu peux faire un /file_upload_status/truc
12:14 <ccomb> oui et ca crée un fichier truc dans /tmp/fileUpload ?
12:14 <gawel> ouais
12:14 <ccomb> oui ca marche pas
12:14 <gawel> oh bah si :)
12:14 <ccomb> ben alors j'ai foutu la merde
12:15 <gawel> je sais pas
12:15 <gawel> mais c'est sensible et ca remonte pas forcément les erreurs
12:15 <ccomb> http://88.191.47.130:8002/?file_upload_session=999
12:15 <ccomb> http://88.191.47.130:8002/file_upload_stat/999
12:15 <gawel> bah faut poster un truc hein :)
12:15 <ccomb> oui je bourre un fichier de 50Mo mais j'ai toujours {'active': 0, 'percent': 100}
12:15 <gawel> fait un form avec l'url en action
12:16 <gawel> hm
12:16 <ccomb> ah merde
12:17 <ccomb> "." ca suffit pas ?
12:19 <gawel> je sais pas. je mets /
12:19 <gawel> sinon mets rien
12:19 <ccomb> rien ca chie
12:19 <gawel> tentes / alors
12:25 <ccomb> ah
12:25 <ccomb> suis con
12:25 <ccomb> http://88.191.47.130:8002/file_upload_stat/999
12:25 <ccomb> ayé ça monte
12:25 <gawel> héhé
12:27 <ccomb> ah compris, t'es obligé de parser les headers pour trouver le file_upload_session=
12:27 <ccomb> ah mais non
12:27 <gawel> non
12:27 <ccomb> c'est dans l'environ
12:27 <gawel> pour trouver l'environ faut parser les headers :)
12:29 <ccomb> quelle différence par rapport aux autres middlewares ?
12:30 <ccomb> t'accèdes toujours à l'environ, de tout facon
12:30 <gawel> bah la je change le wsgi.input, donc si dérrière y a un seek(0) ca peut péter
12:30 <gawel> (mais la je me répète :p)
12:31 <ccomb> t'façon je crois que le seek est interdit sur le wsgi.input
12:31 <gawel> pas sur
12:32 <gawel> en tout cas je trouve ma solut plus "solide" que le paste.progress
12:32 <ccomb> carrément
12:32 <ccomb> son truc marche pas et n'est pas maintenu depuis 3 ans
12:32 <gawel> le seul inconvénient c'est de passer par un tempfile, mais bon
12:33 <ccomb> ban non justement
12:33 <ccomb> ça evite de bourrer la mémoire
12:33 <gawel> yep c'est ce que je me disais, même si elle sera bourré dans l'appli dérrière
12:33 <ccomb> pas forcément
12:34 <gawel> bah faut bien parser le truc
12:34 <ccomb> c'est parsé en chunk
12:35 <ccomb> et ça met dans un tempfile aussi
12:35 <gawel> may be, dépends des app
12:35 <ccomb> théoriquement on devrait pouvoir uploader 1To avec 256Mo de RAM
12:36 <ccomb> il me semble qu'ils ont modifié FieldStorage pour faire un read avec une taille
12:36 <ccomb> et pas tout lire d'un coup
12:37 <gawel> possible ouais
12:41 <ccomb> ce qui est genant c'est pas le fichier temporaire, c'est son nom
12:41 <ccomb> tu laisses le coté client décider du nom
12:42 <ccomb> il faudrait juste un déclencheur comme dans tramline
12:42 <gawel> bah tu peux le décider coté serveur si tu veux mais je vois pas l'intérêt
12:46 <ccomb> deja tu peux remonter dans /tmp .?file_upload_session=../78787
12:47 <gawel> hm, ouais
12:47 <ccomb> donc potentiellement n(importe ou si c'est root
12:47 <gawel> faut un peu de check quoi
12:48 <gawel> if session.isdigit() et hop
12:49 <ccomb> non faut juste une variable use_wsgi_upload = vrai ou faux
12:50 <gawel> comprends pas
12:51 <ccomb> au lieu de ?file_upload_session=777 tu envoies juste ?use_wsgi_upload=1
12:53 <gawel> comment tu récup la session ?
12:53 <gawel> hihihi
12:53 <gawel> tu sera obligé de faire un truc moche
12:54 <gawel> la seule solut clean c'est de l'avoir avant
12:54 <gawel> (moche, ou dépendant d'un autre id de session qu'on maitrise pas)
12:55 <ccomb> dans paste.progress il fait quoi ?
12:55 <ccomb> on dirait qu'il stocke l'environ
12:56 <gawel> ouais, c'est le merdier
12:56 <gawel> et t'es obligé d'avoir une action fixe
13:05 <ccomb> ca sert a quoi d'utiliser le REMOTE_USER ?
13:05 <gawel> à sécuriser le truc si besoin
13:06 <gawel> si t'en a un c'est sécure disons
13:06 <gawel> tu pourra pas consulter les stats d'un autres
13:06 <gawel> alors qu'en anon tu peux
13:15 <ccomb> quoi mais tu peux bien envoyer ce que tu veux comme REMOTE_USER, non ?
13:15 <gawel> bah pas le client, non
13:15 <gawel> ca donnerais HTTP_REMOTE_USER
14:00 <ccomb> ah mais ah mais
14:24 <gawel> je viens de faire un commit si tu veux
14:25 <ccomb> je suis en train de l'intégrer dans l'eztranet
14:25 <gawel> haha :)
14:25 <gawel> c'est plus clean la
14:25 <ccomb> mais du coup je me retrouve à faire des tags et d'autres conneries que j'avais pas faits
14:25 <ccomb> et un changelog
14:25 <gawel> tags ?
14:25 <gawel> ah, svn ?
14:25 <ccomb> oui
14:25 <gawel> ok
14:26 <gawel> je vais faire un namespace comme tu disais
14:26 <ccomb> faut aussi faire un peu de doc, et des tests
14:26 <gawel> tests c'est pas évident
14:27 <gawel> dès que faut lancer un server..
14:27 <ccomb> je le fous en develop dans mon buildout et tu me files le droit de commit
14:27 <gawel> file moi un pass en private pour le svn alors
14:28 <gawel> et attends que j'ai fait le namespace :)
14:39 <kiorky> hay setuptools a une merde avec svn 1.5 :/
14:39 <ccomb> kiorky : ah bon quelle merde ?
14:40 <kiorky> ccomb: 91 for record in map(str.splitlines, data.split('\n\x0c\n')[1:]):
14:40 <kiorky> ccomb: dans commands/sdist.py
14:40 <kiorky> oups : 90 if data.startswith('8'): # subversion 1.4
14:40 <kiorky> ccomb: en loccurence la, cest '9' pour 1.5
14:41 <gawel> ouais, know bug
14:41 <gawel> ne pas upgrader svn :D
14:41 <kiorky> ou bugreport
14:41 <kiorky> bon ou bug report now ...
14:41 <gawel> doit être déjà fais
14:41 <kiorky> rah
14:41 <kiorky> distutils a priori pour la ml, mais jai rien vu passer dessus
14:45 <kiorky> gawel: fixed in trunk.
14:45 <kiorky> gawel: http://svn.python.org/projects/sandbox/trunk/setuptools/setuptools/command/sdist.py
14:45 <kiorky> parcontre fait chier
14:45 <kiorky> pour faire manger ca a buildout ca va etre chiant.
14:48 <gawel> ccomb: https://svn.gawel.org/gp.fileupload/trunk tu devrais pouvoir commit
14:48 <ccomb> cool merci
14:48 <gawel> tout renommé tout ça
14:48 <gawel> ccomb: par contre, tu fais de belles pyramides hein !!!
14:48 <gawel> ;)
14:48 <kiorky> bon
14:48 <kiorky> bzr-svn
14:48 <kiorky> jpense que je vais laisser tomber
14:48 <kiorky> caynaze
14:49 <ccomb> moi je suis en train de me faire chier avec des merges svn et je suis sur le point de passer à mercurial ou bzr
14:49 <ccomb> ras le bol
14:49 <ccomb> c'est impossible de maintenir une branche
14:50 <kiorky> bah la jai eu des trucs qui mont emmerdés avec mercurial
14:50 <kiorky> donc jai voulu voire ce quil y avait autour
14:50 <kiorky> mais bzr la je my fais pas
14:52 <kiorky> et bon, bzr svn, le truc qui maurait fait eventuellement pencher, cest ultra relou. Niveau install, il te faut un svn 1.5 ou un 1.4 patché. les bindings python pour svn qui sont relou a installer en prefixe (quand tu as plusieurs openssl, cest encore plus drole). Apres, il te set tout un tas de propriétés sur le svn, ca fout un joli bordel
14:52 <ccomb> allez, on laisse tomber tout ca et on passe tous à Microsoft SourceSafe Professional Ultimate Edition
14:52 <kiorky> apres, niveau ui, jai eu le droit a tout un tas de backtraces
14:52 <kiorky> (genre problems d'utf8 etc),
14:53 <kiorky> Pi tiens, zc.buildout1.1 ma pété minitage
14:53 <kiorky> jaurais du rester dans mon lit aujourdhui
14:53 <ccomb> 1.1 ca existe ca ?
14:53 <kiorky> oui release hier
14:53 <ccomb> faut attendre le 1.1.1.1.1.1
14:54 <kiorky> ccomb: le truc qui ma fait chier avec mercurial cest les namedbranches, fait gaffe si tu les utilises ;)
15:11 <kiorky> ccomb: svn diff svn://svn.zope.org/repos/main/zc.buildout/tags/1.0.6/src/zc/buildout/buildout.py svn://svn.zope.org/repos/main/zc.buildout/tags/1.1.0/src/zc/buildout/buildout.p, la ligne 21 peut peter pas mal de buildouts selon comment ils sont construits :)
15:11 <kiorky> "minor changes"
15:54 <ccomb> gawel si je comprends bien Paste, je dois rajouter un entry_point vers le middleware dans le setup.py pour pouvoir y accéder depuis mon appli ?
15:55 <ccomb> enfin depuis le deploy.ini
15:55 <kiorky> comment pourrir les logs
15:55 <kiorky> http://trac.minitage.org/trac/timeline
15:55 <kiorky> :S
16:24 <gawel> ccomb: je suis en train :)
16:24 <ccomb> mééééheuuu
16:24 <ccomb> laisse moi faire un peu
16:25 <gawel> je commit
16:25 <Arabesque> bonjour à tous
16:25 <ccomb> nooooonheuuu
16:25 <Arabesque> (oui je sais ça fait longtemps que je suis arrivé)
16:25 <ccomb> cémoicémoicémoi
16:25 <gawel> prems :p
16:26 <gawel> salut Arabesque
16:26 <Arabesque> au fait concerant une éventuelle réunion sur rennes ça en est où .?
16:26 <ccomb> un jour... je serai aussi rapide et performant que gawel
16:26 <gawel> je sais pas. john doit etre en vacances, on le voit plus
16:26 <gawel> saleté de prof
16:26 <ccomb> haha
16:26 <gawel> :)
16:28 <Arabesque> roooh les préjugés
16:58 <gawel> ccomb: t'y arrive ?
16:58 <ccomb> presque je crois
16:58 <gawel> yeah
16:58 <gawel> t'utilise mon plugin jquery ?
16:58 <ccomb> j'avais déjà bourré les onload et onclick, je suis en trainn de changer pour le plugin
16:58 <gawel> cool
16:59 <gawel> j'ai mis un peu de doc la dessus dans le README
16:59 <ccomb> mais j'ai encore des saletés de macros METAL qui font chier
16:59 <ccomb> faudrait que je remplace tout par des pagelets dans ce truc
17:00 <ccomb> non mais par contre ca marche pas sans js, ca
17:01 <gawel> effectivement
17:01 <ccomb> ca c'est relou
17:01 <gawel> bof
17:01 <gawel> y a plus grand chose qui marche sans js de nos jours :p
17:01 <ccomb> pas vrai
17:02 <ccomb> le bon truc c'est de faire un truc qui marche sans, puis de rajouter des trucs en JS pour améliorer
17:02 <ccomb> 3x truc dans la meme phrase
17:02 <ccomb> kss, quoi
17:03 <gawel> bah tu peux en fait
17:03 <gawel> si le plugin choppe un form dans le div que tu lui file il l'utilise
17:04 <ccomb> $('#sample') ?
17:04 <gawel> yes
17:04 <gawel> enfin j'ai pas trop testé ca mais ca doit passer
17:04 <ccomb> sample c'est l'id css ?
17:04 <gawel> c'est "prévué"
17:04 <gawel> ouais
17:05 <ccomb> donc il y a plus de onclick ?
17:05 <gawel> dans ce cas il utilise le form et le submit du form
17:05 <gawel> si, si y en a un dans le form
17:05 <gawel> un submit, j'entends
17:05 <gawel> mais j'ai pas test ça
17:05 <gawel> j'ai juste prévu le cas
17:05 <gawel> let's try
17:06 <ccomb> y a pas de form dans ton template
17:06 <gawel> bah ouais, "si y en a un"
17:27 <ccomb> src="/file_upload_script"
17:27 <ccomb> ?
17:27 <ccomb> (README.txt)
17:27 <gawel> pas fait encore :p
17:28 <gawel> en fait je vais plutot faire une app pour deservir le static
17:28 <ccomb> nonon
17:28 <gawel> bah si
17:28 <ccomb> soit le middleware se démerde, soit l'application fournit les js
17:29 <gawel> bah ca permet de faire un urlmap après
17:29 <gawel> sinon si t'en veux pas tu te demerde a recopier les fichiers
17:29 <ccomb> faudrait fournir les js par une url interceptée par le middleware
17:30 <gawel> j'y ai pensé mais c'est nase
17:30 <ccomb> ca evite de les fournir par l'appli
17:30 <gawel> y a des gens qui voudront des trucs différent
17:30 <ccomb> alors tu fournis rien du tout
17:30 <gawel> bah si, un app a part dont t'es pas obligé de te servir :)
17:31 <gawel> qui dessert du static
17:31 <gawel> et *que* du static
17:31 <ccomb> c'est chiant quand il y a un milliard de trucs à assembler
17:31 <gawel> les plugin pour les différentes librairies
17:31 <gawel> boh non
17:32 <gawel> ou alors mettre un parametre dans le middelware avec le rep static
17:32 <ccomb> un dossier statique desservit par le middleware, sur une url précise
17:32 <gawel> mais j'ai pas envie en fait, parceque le middlware est vraiment dépendant du js
17:33 <gawel> c'est ça le truc
17:33 <gawel> a la rigueur, fournir un deuxième middlware qui lui sait déservir le static
17:33 <gawel> ca me parait bien ça
17:33 <gawel> enfin un deuxième factory
17:34 <ccomb> pas trop de middleware, ça fait mal aux neurones
17:34 <gawel> et le factory fait l'urlmap a ta place
17:34 <ccomb> et c'est qui qui pose les js, à la fin ??
17:34 <ccomb> sonot fournis par le paquet ?
17:35 <gawel> bah ouais, les plugins existant
17:35 <gawel> c'est a toi de poser les tags dans ton appli après de toute facon
17:46 <ccomb> marche pas
17:47 <ccomb> et j'ai le cerveau qui va exploser
17:47 <ccomb> comme dans mars attacks
17:56 <gawel> lol
17:58 <ccomb> jQuery() et $() c'est pareil ?
17:59 <gawel> ouais
17:59 <gawel> j'ai un truc qui marche la
17:59 <gawel> avec un form existant
17:59 <ccomb> pourquoi t'as pas de timeline sur ton trac
18:00 <gawel> parceque je suis tout seul ? :p
18:00 <ccomb> le temps n'est pas une question de solitude :)
18:01 <gawel> svn up
18:01 <gawel> doit marcher la
18:07 <ccomb> pas moyen
18:07 <ccomb> $("#sample") is null
18:09 <ccomb> ah
18:09 <gawel> bah t'as pas l'id dans ton template
18:10 <gawel> putain j'ai mon chauffe eau qui fuit
18:10 <gawel> je suis abonné au innondation :/
18:10 <ccomb> avec juste <div id="sample"></div> ca marche pas
18:10 <ccomb> avec le sample2 ca marche
18:10 <gawel> bah heu, ca devrait
18:11 <ccomb> d'ailleurs non
18:11 <ccomb> je dis n'importe quoi
18:18 <ccomb> http://eztranet.gorfou.fr/projects/test/@@add_projectitem.html (admin/eztranet)
18:19 <ccomb> jette un oeil
18:19 <ccomb> j'ai jquery.js, fileupload.js, et $('#mainform').fileUpload()
18:19 <ccomb> le div#mainform est plus bas
18:20 <ccomb> et j'ai toujours $("#mainform") is null
18:22 <gawel> faut mettre fileupload *après* jquery
18:22 <gawel> dans le head
18:22 <gawel> ah bah non c'est bon
18:23 <gawel> >>> $
18:23 <gawel> $(B)
18:23 <gawel> >>> jQuery
18:23 <gawel> function()
18:24 <gawel> $ est pas bon
18:24 <gawel> mets jQuery
18:24 <ccomb> ah il doit etre niqué par mootools
18:28 <ccomb> bon
18:28 <ccomb> j'ai plus d'erreur
18:28 <ccomb> mais j'ai pas de barre d'upload, et ça uploade plus :D
18:28 <gawel> il choppe pas ton "Ajouter" par contre
18:29 <kiorky> oups wrong window
18:31 <ccomb> faut pas lui indique l'id du
18:31 <gawel> t'as pas la dernière version, non ?
18:31 <ccomb> si
18:31 <gawel> non :)
18:31 <ccomb> ah le js ?
18:31 <gawel> le fileupload.js est pas bon
18:33 <ccomb> ah
18:33 <ccomb> maintenant il efface le formulaire
18:34 <gawel> mets un fichier :)
18:35 <ccomb> mais je dois indiquer le mainform ou le form.actions.add ?
18:35 <ccomb> dans le selecteur jquery
18:35 <gawel> mainform
18:35 <ccomb> ca fait juste disparaitre le form mais ca uploade pas
18:36 <gawel> effectivement
18:44 <ccomb> il chope pas le filename
18:47 <gawel> chelou ça
18:52 <ccomb> jQuery('input', form)
18:53 <ccomb> ca suffit pas
18:53 <ccomb> jQuery('input:file', form)
18:57 <ccomb> maintenant ça uploade, j'ai bien le tempfile et statfile créés
18:57 <ccomb> sauf que j'ai pas de barre de progress, et le fichier est perdu à la fin
18:58 <gawel> perdu ?
18:58 <ccomb> il arrive pas dans l'appli
18:58 <gawel> ah
19:06 <gawel> ca m'étonne qu'a moitié en fait
19:06 <ccomb> deja je soupconne le virtualhosting
19:06 <ccomb> en direct j'ai les stats : http://eztranet.gorfou.fr:8080/file_upload_stat/999
19:07 <ccomb> c'est pour ca que le coup de l'url /machin/ c'est foireux
19:08 <gawel> rien a voir je pense
19:08 <gawel> ah quoique, ouais je vois
19:08 <ccomb> ben si, il a pas la bonne url
19:08 <gawel> je vais modif un peu le code
19:08 <ccomb> en direct sans VH, j'ai le pourcentage qui s'affiche, mais pas la barre
19:09 <gawel> ah, faut un style css
19:09 <gawel> matte dans le sample
19:11 <gawel> svn up
19:11 <ccomb> je vois pas de cht
19:11 <ccomb> rev968 ?
19:12 <gawel> nan, re up
19:12 <ccomb> ok
19:12 <gawel> j'avais un conflict
19:12 <ccomb> :D
19:13 <ccomb> ah ok je ressaye en vh
19:15 <gawel> semble marcher
19:15 <gawel> manque le bout de css
19:15 <ccomb> je viens d le mettre
19:16 <gawel> cassé :)
19:16 <ccomb> pff
19:17 <ccomb> <style ="text/css">
19:17 <gawel> type= :)
19:19 <ccomb> bon c'est pas mal
19:19 <gawel> yes
19:19 <gawel> :)
19:19 <ccomb> sauf qu'il manque le plus important :)
19:19 <gawel> ouais
19:20 <gawel> je vais test avec pylons
19:30 <ccomb> j'ai fait un truc à la con dans mon addview, je suis sur que c'est a cause de ca
19:36 <ccomb> YES
19:37 <ccomb> ca marche
19:37 <gawel> \o/
19:37 <ccomb> juste la redirection qui est pas bonne
19:37 <gawel> bah y a pas de redirection
19:37 <gawel> enfin, l'app doit rien retourner en fait
19:37 <ccomb> je redirigeais vers le dossier
19:38 <gawel> tu peux add un callback dans le fileUpload
19:38 <ccomb> il faut aussi que je puisse uploader plusieurs fichiers
19:38 <ccomb> c'est prévu apparemment
19:38 <gawel> fileUpload({callback: function(items) {}})
19:39 <gawel> bah sert toi du tout js honetement
19:39 <gawel> tu t'en branle pour un backoffice d'etre obliger de l'avoir
19:39 <ccomb> sans JS, je veux pouvoir uploader 1 fichier sans barre
19:39 <ccomb> avec JS, plusieurs fichiers avec barre
19:39 <gawel> en plus, je voudrais pas dir mais ton treeview sans js c'est mort :)
19:40 <ccomb> m'en fous c'est toujours navigable
19:40 <gawel> bah non, je crois pas
19:40 <ccomb> avec les icones et le breadcrumb
19:40 <gawel> enfin celui de zope3 par défaut c'est dead
19:40 <ccomb> oui mais l'appli est globalement utilisable
19:40 <ccomb> d'ailleurs je me sers jamais du tree
19:40 <ccomb> le client oui
19:41 <ccomb> c'est le meme, je l'ai extrait de rotterdam
20:00 <ccomb> BLOCK_SIZE est trop gros par defaut
20:01 <ccomb> la barre est pas fluide, je mets 1024x128
20:07 <gawel> je sais pas, ça défile pas ?
20:07 <gawel> dans les logs
20:07 <ccomb> la barre est rafraichie toutes les 1,5s, mais la taille du tempfile change tous les Mo
20:07 <gawel> bah en 1s il mange pas 1Mo ?
20:08 <ccomb> bah non
20:08 <ccomb> je suis pas en local
20:08 <gawel> bon bon
20:08 <gawel> certes
20:08 <ccomb> j'ai pas encore la fibre :)
20:08 <ccomb> question con :
20:09 <ccomb> comment je peux envoyer un mail avec mon adresse @afpy.org ?
20:09 <ccomb> vu que c'est un alias
20:09 <gawel> bah heu, je sais pas moi
20:09 <ccomb> je me suis incrit sur la liste aful, mais du coup je peux que les recevoir
20:09 <gawel> je passe par gmail, j'ai le choix de l'adresse
20:09 <gawel> créer un compte dans thunderbird, non ?
20:10 <gawel> ca gère pas le multi-addresse ? m'étonnerais
20:11 <ccomb> je peux créer d'autres adresses, mais pour des vraies boites
20:13 <gawel> je suis sur que y a un autre moyen
20:13 <ccomb> ah, aparemment y a un truc depuis la version 0.5
20:13 <ccomb> pour gérer les alias
20:14 <gawel> héhé
20:16 <ccomb> non
20:17 <ccomb> je peux remplacer l'adresse par un alias, mais pas avoir les 2
20:18 <gawel> étonnant
20:26 <ccomb> faut modifier le prefs.js à la main et ca marche..
20:55 <ccomb> non marche pas
20:55 <ccomb> le smtp m'envoit chier
20:55 <gawel> de free ?
20:58 <gawel> bon, bah ca déchire
20:58 <gawel> faudrait que je refactore le plugin, mais déjà c'est beau
20:59 <gawel> 20:58:03,975 INFO [samplepylons.controllers.upload] UnicodeMultiDict([('file_1', FieldStorage('file_1', u'464.JPG'))])
20:59 <gawel> marche nickel