09:02 <kujiu> bonjour
13:25 <ccomb_> 'jour
13:27 <ogrisel> ccomb_: matin caf'e
13:27 <ogrisel> café
13:28 <ccomb_> ogrisel: tcho, j'essaie ta manip des que j'ai 1min
13:28 <ogrisel> :)
13:28 <ogrisel> je vais aussi voir si c'est scriptable facilement avec PIL
13:28 <ccomb_> mais je suis sans souris et sur eee
13:28 <ccomb_> à toulouse
13:29 <ogrisel> héhé
13:29 <ogrisel> bon bah t'embete pas alors
13:29 <ccomb_> avec gimp, suffit d'effacer tous les pixels noirs et de mettre le logo derriere
13:29 <ogrisel> tu vas t'arracher les cheveux a faire du gimp au touchpad sur un ecran 9 pouces
13:29 <ccomb_> j'ai essayé de faire du inkscape ce matin
13:29 <ccomb_> impossible
13:29 <ccomb_> gimp ca va qd meme mieux
13:30 <ccomb_> mais c bon y a un autre pc a coté
13:30 <ogrisel> je veux colorier les pixels noirs avec la forme et les couleurs du logo python et laisser les pixels blancs tels quels
13:30 <ccomb_> oui faut faire un masque en remplaçant le noir par du transparent
13:31 <ccomb_> bon je vais voir si je capte en bas...
13:31 <ogrisel> ok
13:31 <ogrisel> http://tobias.klpstn.com/2008/02/10/simple-image-masking-with-pil/
13:35 <ccomb_> les murs sont vachement épais...
14:34 <yotaff> ogrisel: la modif que tu as faites pour calltree c'est pour quoi ?
14:39 <yotaff> argh
14:40 <yotaff> je modifie setuptools pour gérer Hg 1.1, ca marche, le MANIFEST est bon
14:41 <yotaff> mais il manque les fichiers à la racine
14:41 <yotaff> dans le egg
14:41 <yotaff> grrr
14:44 <ogrisel> visiblement la maniere de calculer les call counts d'une fonction par une autre etait pas correcte
14:44 <ogrisel> yotaff: il manque des fichiers dans dans pyprof2calltree ?
14:45 <ogrisel> dans la release officielle ?
14:45 <yotaff> pas essayé, juste vu la nouvelle version
14:45 <ogrisel> c'est chelou je l'ai testée sur deux machines
14:45 <ogrisel> je checke
14:45 <yotaff> je vais retester cette version avec z3 pour voir
14:45 <yotaff> je comprends pas pq il dépasse pas les init
14:47 <ogrisel> chmod +x /tmp/pyprof2calltree-1.1.0-py2.5.egg
14:47 <ogrisel> /tmp/pyprof2calltree-1.1.0-py2.5.egg
14:47 <ogrisel> Usage: -c [-k] [-o output_file_path] [-i input_file_path] [-r scriptfile [args]]
14:47 <ogrisel> il a l'air frais cet oeuf
14:47 <ogrisel> sinon y aurait pas la ligne de usage
14:47 <ogrisel> Archive: pyprof2calltree-1.1.0-py2.5.egg
14:47 <ogrisel> inflating: pyprof2calltree.pyc
14:47 <ogrisel> inflating: pyprof2calltree.py
14:47 <ogrisel> inflating: EGG-INFO/SOURCES.txt
14:47 <ogrisel> inflating: EGG-INFO/zip-safe
14:48 <ogrisel> inflating: EGG-INFO/entry_points.txt
14:48 <ogrisel> inflating: EGG-INFO/PKG-INFO
14:48 <ogrisel> inflating: EGG-INFO/top_level.txt
14:48 <ogrisel> inflating: EGG-INFO/dependency_links.txt
14:48 <yotaff> euh
14:48 <yotaff> je parle pas de ton egg hein :)
14:48 <yotaff> désolé
14:48 <ogrisel> ah ok
14:49 <yotaff> je suis en train de patcher setuptools pour gérer hg1.1
14:49 <yotaff> comme je l'avais fait pour hg 1.0
14:49 <yotaff> et il oublie les fichiers à la racine
14:49 <yotaff> genre setup.py
14:49 <ogrisel> une fois que tu auras ajouté le support pour hg 1.1 dans easy_install / setuptools fait pareil pour pip :)
14:49 <yotaff> alors que le SOURCES.TXT est bon
14:50 <ogrisel> chelou
14:50 <ogrisel> je connais pas suffisament setuptools pour t'aider
14:50 <yotaff> donc faut que je me paluche le source setuptools
14:50 <yotaff> et ca me gonfle
14:51 <yotaff> bizarre car je suis a iso périmètre de mon ancienne modif
14:51 <yotaff> je renvois un yield avec la liste des fichiers sous révision
14:52 <yotaff> sinon l'api de hg 1.1 est plus sympa que la 1.0
14:52 <yotaff> ca manque un poil de doc pour expliquer mais c'est bien cool
14:55 <yotaff> bon en sdist ca marche
14:55 <yotaff> donc tiens
14:56 <yotaff> warning: sdist: standard file not found: should have one of README, README.txt
14:56 <yotaff> portnawak
14:56 <yotaff> c'est balot on met tout dans sphinx maintenant
15:25 <ccomb_> ogrisel: http://dl.free.fr/uuBHaRJnV
15:28 <ccomb_> faut checker que ça se scanne bien
15:59 <yotaff> setuptools c'est vraiment hideux :(
15:59 <yotaff> il arrive a lagguer dans l'affichage des print
16:00 <yotaff> y'a les appels des fonctions, puis la liste des résultats
16:23 <ccomb_> gawel: le middleware qui t'envoie les traceback d'erreur c'est celui de WebError ?
16:24 <tarek> yo ccomb_, à toulouse ?
16:24 <tarek> ping ogrisel
16:24 <ccomb_> tarek: oui
16:31 <tarek> yotaff setuptools va mourir
16:32 <tarek> j'en suis sur now
16:32 <tarek> faut qu'on convainc jim de passer à pip dans zc.buildout
16:32 <yotaff> pip se base sur setuptools hein
16:32 <yotaff> pour l'instant
16:32 <tarek> bah c pas grave
16:32 <tarek> c un fork
16:32 <yotaff> et ian est chaud pour mettre du binaire ?
16:32 <yotaff> je vais passer à sdist mais bon
16:33 <tarek> tu parles de quoi
16:33 <yotaff> pip ne fait que des sorties sources
16:33 <yotaff> et pas de binaires
16:33 <yotaff> le egg quoi
16:34 <tarek> heu
16:35 <tarek> on parle pas de la même chose alors
16:35 <tarek> dans tes paquets, si tu jartes setuptools
16:35 <tarek> apres tu les distribuent en sdist ou en bdist
16:35 <tarek> avec distutils
16:35 <tarek> et tules installent avec pip
16:35 <tarek> s/tules/tu les/
16:37 <yotaff> ah ok
16:37 <yotaff> effectivement on parlait pas de la même chose
16:37 <yotaff> wai si jim est chaud, ca peut le faire
16:37 <yotaff> après y'a tous l'écosystème zope, pylons & tg qui migrent
16:38 <yotaff> vu déja qu'il était chaud pour revoir disutils
16:39 <tarek> moi je vais me concentrer sur distutils
16:39 <tarek> maintenant que je suis commiteur python
16:41 <yotaff> je viens de passer 1h dans le code disutils / setuptools
16:41 <yotaff> c'est un poil immonde pour s'y retrouver
16:41 <yotaff> j'arrive pas à tracer exactement comment le manifest est manipulé
16:45 <tarek> c'est la commande qui construit l'arbre des sources, c'est dans sdist dans distutils (get_file_list)
16:46 <yotaff> plus compliqué que ca
16:46 <yotaff> car le sources.txt est bon
16:46 <yotaff> d'ailleurs au format sdist c'est bon
16:46 <yotaff> par contre ca chie dans le bdist_egg
16:46 <yotaff> il oublie tout ce qui n'est pas dans find_packages
16:47 <yotaff> bref c'est dans la phase de compil que ca merde
16:47 <yotaff> mais les structures sont assez immondes à suivre
16:48 <tarek> c'est ton MANIFEST.in qui est pas bon
16:49 <tarek> c'est une mauvaise idée de dépendre d'un systeme de controle de version pour ca
16:49 <tarek> il faut ecrire ton MANIFEST.in
16:49 <tarek> tiens je vais twitter dessus de suite
16:51 <yotaff> euh, le principe est de builder ce qui existe dans Hg, sinon tu prends n'importe quoi
16:51 <tarek> non non non non :D
16:51 <yotaff> des fichiers temporaires...
16:51 <tarek> le principe est de fournir dans la release ce qu'il faut, meme si c'est sur le hg ou ailleurs
16:51 <tarek> s/ou ailleurs/pas/
16:51 <yotaff> et tu build ton manifest à la main ?
16:52 <tarek> tu écris un MANIFEST.in qui fait deux lignes, voir trois
16:52 <tarek> soumets moi ton cas, je te montre
16:52 <yotaff> ben un composant python quelconque hein
16:53 <yotaff> avec un builldout,cfg, setup.py, un /doc shinx, un /src
16:53 <tarek> un composant quelconque, par defaut il prend ce qui est importé dans setup.py
16:53 <tarek> et tests/*.py
16:53 <tarek> et README
16:53 <yotaff> qui prend par défault ?
16:53 <yotaff> -l
16:53 <tarek> dans ce cas tu écris :
16:53 <tarek> recursive-include src *.py *.txt
16:53 <tarek> graft doc
16:56 <yotaff> je suis en train de lire la doc
17:01 <tarek> ca doit rester décorellé : ton systeme de releasing ne doit pas etre dépendant d'un VCS ou DVCS
17:01 <tarek> c'est le role de MANIFEST.in
17:03 <yotaff> ben faut modifier setuptools alors :p
17:03 <yotaff> c'est comme cela qu'il fonctionne
17:06 <tarek> non
17:06 <tarek> il te rajoute un truc qui parse .svn
17:06 <tarek> mais si tu mais ton MANIFEST.in ca prévaut
17:07 <tarek> s/mais/mets/
17:07 <yotaff> if the manifest file, MANIFEST doesn?t exist, read MANIFEST.in and create the manifest
17:07 <tarek> AFPYRATE CE SOIR ???
17:07 <yotaff> hum, je vois pas le MANIFEST final
17:07 <yotaff> ou ?
17:08 <tarek> vers bastille ?
17:08 <tarek> ca vous dis ?
17:08 <tarek> le manifest final est mis dans la release
17:09 <yotaff> bastille bof pour moi
17:09 <yotaff> je laisse donc les autres donner leur avis
17:10 <tarek> ben je suis localisé la bas, mais ailleurs ca me va
17:10 <yotaff> bon je dois etre à l'ouest mais je vois pas l'intéret de ne pas générer le manifest final dans le source
17:10 <tarek> car le template te permet de définir des includes recursifs par exemple
17:11 <tarek> dans le manifest final tu auras tous les fichiers, explicitement
17:11 <tarek> et ca c'est galère
17:11 <yotaff> mais une fois que j'ai fait pour sdist, j'ai mon package final
17:11 <yotaff> s/pour/pmmon/
17:11 <yotaff> rha
17:11 <tarek> pourquoi tu veux fournir des binaires btw ?
17:12 <yotaff> bah choix comme un autre, on était parti la dessus
17:12 <yotaff> mais on passer au source
17:14 <yotaff> bon je vais prendre des exemples sur le net parce que je comprends pas tout
17:14 <tarek> le binaire ca pose plein de pbs
17:14 <tarek> deja tu dois maintenir n versions
17:14 <yotaff> non mais je passe en sdsit ca va
17:14 <tarek> :D
17:14 <yotaff> je parle du manifest la
17:14 <tarek> a ok
17:15 <tarek> je te montre un exemple :
17:15 <yotaff> je vois pas trop son intéret, sauf a ajouter des trucs non python ou faire des ignores
17:15 <yotaff> enfin c'est deja tres bien
17:15 <tarek> http://atomisator.ziade.org/browser/packages/atomisator.filters/MANIFEST.in
17:24 <yotaff> tarek: tu me confirmes bien que le MANIFEST est utile pour ajouter ou soustraire des choses
17:24 <yotaff> par défaut, il est presque vide
17:25 <yotaff> parce que sdist trouve tout le code python tout seul
17:34 <tarek> le MANIFEST.in
17:34 <tarek> pas le MANIFEST
17:34 <tarek> par défaut sdist utilise les chemins par défaut
17:35 <tarek> modules inclus dans le contexte, et test/*.py
17:35 <tarek> et README
17:35 <tarek> il faut un MANIFEST.in explicite
17:35 <tarek> il te fera des warnings s'il est pas carré
17:40 <yotaff> bon je viens de passer tous les buildbots en sdist
17:40 <yotaff> je sens que ca va peter de parout :p
17:42 <tarek> :D
17:42 <yotaff> faut que je vérifie que setuptools n'utilise pas la liste hg meme en sdist
17:42 <yotaff> je vais virer une partie de mon patch
17:46 <tarek> entres nous, nos patchs, s'ils sont integrés, le seront pour nos petits enfants
17:46 <ogrisel> salut
17:46 <ogrisel> ccomb_1: c'est cool ton image mais elle est plus scannable ... :(
17:46 <ogrisel> je vais tenter de l'assombrir
17:47 <ccomb> oui
17:48 <tarek> bon alors
17:48 <tarek> afpyrate ou non ?
17:48 <ccomb> sinon on peut mettre le logo dans les zones blanche, en tres clair
17:48 <ccomb> non, un afpyrate se fait à convention, et pas sans moi !
17:48 <tarek> en meme temps tu desertes
17:49 <ccomb> gawel: interviens !
17:49 <tarek> on peut faire aussi une soirée à ton honneur
17:49 <tarek> trop tard il est parti à l'instant
17:50 <ccomb> bon alors vous en commandez un au camembert et vous le mangez à ma place
17:50 <ogrisel> ccomb: oui on peut tenter cette strategie aussi
17:50 <ccomb> pendant ce temps je mange des huitres :D
17:50 <tarek> c quoi l'histoir du logo ?
17:50 <ogrisel> tu peux envoyer le .xcf ? je galere pour assombrir le png sans griser le blanc
17:50 <ccomb> ok
17:51 <ogrisel> pour l'afpyrate, oui pourquoi pas
17:51 <ogrisel> perso j'ai mangé tres tard donc j'aurais probablement pas envie de faire un resto
17:52 <ogrisel> benoit 16 il veut casser du PD
17:52 <ogrisel> ca a rien a voir je viend d'entendre ca a la radio
17:53 <ccomb> http://dl.free.fr/pdk6NI3jI
17:53 <tarek> yotaff: afpyrate -> ou ?
17:54 <yotaff> ben perso vers le centre ou à l'ouest
17:54 <ccomb> ogrisel: sinon tu passes en indexé en 4 couleurs, et tu peux changer chaque couleur séparément
17:56 <ogrisel> j'ai un truc qui marche
17:56 <ogrisel> je vais lui donner un poil plus de couleur
18:01 <ogrisel> http://oliviergrisel.name/static/oliviergrisel-python.qr.png
18:01 <ogrisel> ccomb: y a le .xcf a coté
18:02 <ccomb> spamal, je vais essayer inversé
18:03 <ogrisel> reste plus qu'a le rendre scriptable avec PIL pour automatiser
18:03 <ogrisel> je suis en train de faire un wrapper ctypes pour libqrencode
18:04 <ogrisel> perso je trouve ca cool le rendu actuel
18:04 <ogrisel> je vais l'imprimer sur papier blanc pour voir si c'est toujours scannable
18:08 <ogrisel> ccomb: AMA c'est mieux de garder les dimension du QR original en incluant la petite marge blanche autour
18:08 <ccomb> oui, il faut la restaurer
18:09 <ogrisel> mais en redimensionant en mode lineaire sous gimb ca marche tres bien
18:09 <ccomb> je l'avais virée juste pour cadrer
18:09 <ccomb> oui sans interpolation
18:09 <ccomb> voila la version inversée :
18:09 <ogrisel> y a des codes correcteur d'erreur dans le QR donc des deformations faibles sont tolerables
18:10 <ogrisel> la dimension original c'etait 147 x 147
18:11 <ccomb> http://ccomb.free.fr/pyqr/
18:11 <ccomb> j'avais coupé en 123x123 puis multiplié par 10
18:15 <ogrisel> je confirme que le negatif marche bien aussi
18:15 <ogrisel> du coup je sais pas trop lequel je prefere
18:17 <tarek> mortel le codebar
18:19 <ogrisel> oué, une fois qu'on a des protos sympa faut scripter l'operation avec PIL et demander sur la liste des membres qui veut se faire une carte de visite avec ce systeme
18:19 <tarek> cool :D
18:19 <ogrisel> d'ailleurs faudrait faire un appel a artistes pour le reste des cartes de visite
18:19 <ogrisel> le coté lisible par les humains
18:20 <tarek> oueppe
18:22 <ogrisel> apres impression je pense que je prefere la premiere version
18:23 <ogrisel> meme si on voit peut etre un peu moins bien que c'est le logo python si on connais pas le logo a l'avance
18:24 <ogrisel> bon je vais continuer de bosser sur le wrapper
18:34 <yotaff> bon j'ai vraiment tout casser
18:37 <tarek> bon alors qui veut faire un afpyrate ?
18:37 <tarek> yotaff, ogrisel
18:38 <ogrisel> moi je veux bien
18:38 <yotaff> ca me va
18:38 <yotaff> mais j'ai tout pété la
18:39 <yotaff> a quelle heure ?
18:42 <ogrisel> faut que je decolle j'ai une course a faire avec qu'une boutique ferme
18:42 <ogrisel> yotaff c'est quoi ton tel, je l'ai plus dans la memoire de mon telephone ?
18:42 <ogrisel> envoie ca en PV
18:43 <yotaff> 06.63.55.15.95
18:43 <ogrisel> je fais ma course j'en ai pour une demi heure et apres je me reconnecte pour voire comment on s'organise pour lafpyrate
18:43 <yotaff> il doit etre partout sur le net :)
18:43 <ogrisel> ok
18:43 <ogrisel> idem
18:44 <ogrisel> en particulier dans des images png de 147x147 avec du bleu et du jaune dedans
18:44 <tarek> bon ogrisel et yotaff, je me dirige dans quel quartie ?
18:44 <tarek> r
18:45 <yotaff> bon j'ai un bleme, j'ai virer tout mon patch et maintenant, le sdist fait comme l'autre, il voit plus la racine
18:45 <yotaff> c'est quoi ce bordel
18:45 <ogrisel> tarek: comme vous voulez
18:46 <ogrisel> yotaff: propose qqchose de precis sinon on va finir a bastille :)
18:46 <tarek> je pars d'ici 30 mn
18:46 <ogrisel> a tte je reviens d'ici 30min
18:46 <yotaff> bah chatelet
18:46 <tarek> yotaff, je peux t'aider si tu me files un pointeur
18:46 <yotaff> c'est rempli de pub
18:47 <tarek> ok chatelet, vendu
18:47 <tarek> 06 30 37 02 63
18:47 <ogrisel> ou ca a chatelet ?
18:48 <yotaff> devant la sortie du RER
18:48 <yotaff> 2s je matte un plan
18:50 <yotaff> porte lescot
18:50 <yotaff> la ou y'a le commiseriat de police
18:50 <yotaff> c'est la rue pierre lescot
18:51 <yotaff> on peut se donner rv au bon pécheur
18:51 <yotaff> c'est a 10m
18:51 <yotaff> y'a un 2eme étage
18:51 <yotaff> et la bouffe est pas mauvaise
18:52 <tarek> bon
18:53 <yotaff> prenez la sortie les halles
18:53 <yotaff> en métro
18:53 <yotaff> comme pour aller à la fnac
18:54 <yotaff> mais vous sortez dehors
18:54 <yotaff> le bon pécheur est a 10mn
18:54 <yotaff> bon j'ai choppé un setuptools de base
18:54 <yotaff> c'est pareil
18:54 <yotaff> je dois me foirer avec ma conf setup.py
18:55 <yotaff> et comme d'hab on fait des eggs en partant de svn / hg, on voyait pas
18:55 <yotaff> mais c'est bizarre
19:00 <tarek> t'a un pointeur ?
19:01 <yotaff> error: Couldn't find a setup script in /tmp/easy_install-_JnOqi/sact.buildbot.custom-0.1dev-r5.linux-i686.tar.gz
19:01 <yotaff> je dois être vraiment débile la
19:01 <yotaff> au début je croyais que c'était mes modifs
19:02 <yotaff> la c'est un setuptools vanilla avec une conf de base
19:02 <tarek> mouai
19:03 <yotaff> j'utilise pas svn pour rechercher les fichiers
19:03 <yotaff> et donc pas hg
19:03 <yotaff> et la pouf il est perdu
19:03 <tarek> brb tel
19:14 <yotaff> rha je suis con
19:20 <ogrisel> yotaff, tarek vous avez deja decollé ?
19:20 <ogrisel> je pense que j'en ai pour 20 - 25 min
19:21 <yotaff> nop
19:22 <yotaff> moi je suis a coté
19:22 <yotaff> enfin sur la meme ligne
19:22 <ogrisel> ok tarek t'as decollé ou pas ?
19:23 <ogrisel> donne un point GPS et un ETA
19:26 <tarek> j'y vais dans 5mn
19:28 <ogrisel> ok
19:35 <ogrisel> ok yotaff je decolle dans 5min aussi alors
19:39 <yotaff> je décolle
19:44 <ogrisel> idem