banniere.png
Document Actions

03/31/2006

Rien de tel qu'une bonne manif' CPE

Manifestation monstre à la gare de Lyon en début de soirée (les rails jonchés d'étudiants paraît-il _ils sont inconscients_, et des casseurs qui ont joué avec le matos du rail _une lampe de bureau fabriquée avec un catéter SNCF, la seucla_).

Le trajet habituel 19h15->20h50 s'est transformé en calvaire TER. Retour maison à 00h30.

Du coup zope-coobook.org s'est vu affublé d'une nouvelle fonctionnalité codée dans le train: on peut commenter les recettes à présent (hura). Le site devrait bientôt ressembler à un vrai site utilisable.




03/30/2006

Un flux rss pour les recettes Zope 3 cookbook

En attendant d'être un peu moins pourri peu plus travaillé, zope-cookbook.org propose un flux RSS pour les recettes, chaque recette est complète dans le flux, et devrait s'afficher correctement dans les aggrégateurs.

Le flux est dans toutes les langues aussi:

Categories: coding, documentation 0 comments - commenter | Trackbacks (2624) |

03/26/2006

L'interview inédite de 1975 des Monty Python

Décidément, les bloggers de Boing-boing trouvent des perles rares.

Voici un enregistrement d'un passage des Monty Python à Dallas en 1975: le ticket
Categories: documentation 0 comments - commenter | Trackbacks (461) |

03/25/2006

Slides Python XP day

On a présenté avec Stéfane Fermigier le langage Python aux xp days, voici les slides
Les organisateurs ont fait un superbe boulot, merci à Laurent Bossavit et ses amis de xp-france pour cette conférence.
Categories: documentation 0 comments - commenter | Trackbacks (147) |

03/19/2006

Nouvelle recette Zope 3: Organiser le code dans un paquet

Cette recette explique comment organiser le code d'un paquet pour Zope 3. Elle ne présente que les éléments de base et met en avant les principes généraux de structuration.

Elle sera complétée par des recettes annexes, qui ajouteront les éléments complémentaires pouvant être trouvés dans ds paquets plus complexes.


Categories: coding, documentation 0 comments - commenter | Trackbacks (439) |

03/14/2006

Le blog de la Python Software Foundation

La Python Sofwtare Foundation lance son blog: http://pyfound.blogspot.com/
Categories: evenements 0 comments - commenter | Trackbacks (441) |

03/13/2006

Première fournée de recettes pour Zope 3

Voici une première fournée de petites recettes (version 1), pour le projet de Zope 3 cookbook, reste à les traduire en anglais:

 
L'ordre d'écriture des recettes n'a pas vraiment été fixé, car la liste des recettes varie tous les jours.

Liste des recettes prévues

Le rendu HTML étant relativement moche, je placerais éventuellement un lien vers des rendus PDF.

Categories: coding, documentation 0 comments - commenter | Trackbacks (221) |

03/11/2006

Vers une collaboration des projets d'environnement de développement Python

Stani, de SPE (Stani's Python Editor), lance un projet de collaboration entre un maximum d'IDE Python.

Idée brillante donc, affaire à suivre...

Categories: coding, evenements 0 comments - commenter | Trackbacks (137) |

LaTeX exécutable en doctest Python

Pour un nouveau projet, je dois pouvoir exécuter des tests fonctionnels Zope 3 contenus dans des exemples de code dans des fichiers au format LaTeX.

Les fichiers LaTeX peuvent bien sûr être appelés directement, mais l'objectif était de pouvoir marquer certains exemples de code "à tester", "à ne pas tester", pour plus de souplesse.

Le module textest fourni  un set minimal de classes et fonctions qui permet d'utiliser des fichiers LaTeX comme doctests fonctionnels, avec une extraction à la volée des sections Verbatim.

Il peut être ensuite utilisé dans un script de test, pour que le script de test de Zope 3 exécute l'ensemble des tests. Ce script est une copie du script que l'on trouve dans le module zope.testing.functional, avec quelques modifications,  et une petite boucle sur les fichiers *.tex du répertoire courant.

Exemple de script:
import doctest
import os
import unittest
from zope.app.testing import setup, functional
from textest import TexFileSuite

def FunctionalTexFileSuite(filename, **kw):
    globs = kw.setdefault('globs', {})
    globs['http'] = functional.HTTPCaller()
    globs['getRootFolder'] = functional.getRootFolder
    globs['sync'] = functional.sync
    kw['package'] = doctest._normalize_module(kw.get('package'))

    kwsetUp = kw.get('setUp')
    def setUp(test):
        functional.FunctionalTestSetup().setUp()
        setup.setUpTestAsModule(test, filename.replace('.', '_'))
        if kwsetUp is not None:
            kwsetUp(test)

    kw['setUp'] = setUp

    kwtearDown = kw.get('tearDown')
    def tearDown(test):
        if kwtearDown is not None:
            kwtearDown(test)
        try:
            setup.tearDownTestAsModule(test)
        except KeyError:
            # XXX see why
            pass
        functional.FunctionalTestSetup().tearDown()

    kw['tearDown'] = tearDown

    if 'optionflags' not in kw:
        old = doctest.set_unittest_reportflags(0)
        doctest.set_unittest_reportflags(old)
        kw['optionflags'] = (old
                             | doctest.ELLIPSIS
                             | doctest.REPORT_NDIFF
                             | doctest.NORMALIZE_WHITESPACE)

    suite = TexFileSuite(filename, **kw)
    suite.layer = functional.Functional
    return suite


current_folder = os.path.dirname(__file__)
if current_folder == '':
    current_folder = '.'

def test_suite():
    extractor = doctest.DocTestParser()

    files = [file for file in os.listdir(current_folder)
             if file.endswith('.tex')]

    tests = [FunctionalTexFileSuite(file) for file in files]
    return unittest.TestSuite(tests)

if __name__ == '__main__':
    import unittest
    unittest.main(defaultTest='test_suite')

Ce système peut être perfectionné et rendu générique, pour fonctionner avec tout type de format (OOo, Doc, etc..)
Categories: coding, documentation 0 comments | Trackbacks (124) |

Nouveau projet: Zope 3 cookbook

Je vais lancer très prochainement un nouveau projet qui me tient à coeur: un livre de recettes en ligne, dont le contenu est accessible librement (licence Common Creative, Paternité, Pas de modification, Pas d'utilisation commerciale).

Ce projet concerne Zope 3, et contiendra des recettes pour développeurs Python, dans deux langues: Anglais et Français.

Il est accessible ici:


L'objectif est de fournir des recettes courtes et faciles à suivre. Le contenu, qui prévoit entre 200 et 250 recettes, devrait être complètement écrit d'ici 9 mois.

Le code contenu dans les recettes, dans le principe des doctests, est réelement exécuté par les outils de tests de Zope 3, ce qui réduit considérablement les coquilles.

Si ce projet vous intéresse, n'hésitez pas à me faire part de vos remarques par mail, ou directement dans ce ticket.

Categories: coding, documentation 0 comments - commenter | Trackbacks (172) |

Tarek Ziadé. Copyright 2006. Tous droits réservés. Licence contenu site
BuzTrucs
Add to Technorati Favorites