Python WAW 2010 : Semaine 15
18/04/2010
En cette semaine de vacances, beaucoup de nouvelles mais peu de temps pour écrire.
Python
1 > Nouvelle version majeure de VirtualenvWrapper
Doug Hellmann a sorti une nouvelle version de virtualenvwrapper dont le développement a été axé sur les hooks et les callbacks pour permettre de partager plus facilement les plugins.
Le script principal a été renommé en virtualenvwrapper.sh car les fonctionnalités rajoutées marches avec de nombreux shells : bash, sh, ksh, et zsh.
Quelques autres bonnes nouvelles dans le billets original.
Frameworks web
Django
1 > Des tickets moins chers pour DjangoCon.eu 2010 à Berlin
L'équipe organisant le DjangoCon à Berlin a décroché de nouveaux sponsors ce qui leur permet de baisser le prix d'entrée. La page en anglais étant mise à jour régulièrement je laisse suivre le lien pour avoir les derniers prix. Ceux qui avaient déjà acheté leur ticket seront remboursés de la différence.
Surlex (Simple URL Expression) est un langage pour faire correspondre et extraire du texte, similaire aux expressions rationelles. Il fonctionne en générant une expression rationelle à partir d'une syntaxe plus concise qui a été construit pour produire des modèles d'url facile à lire. Documentation officielle de Surlex...
3 > Qui a laissé une exception dans vos logs
En absence d'une belle solution voici comment Peter Bengtsson a solutionné le problème de connaitre qui était connecté lorsqu'une erreur est survenue. Il construit un Intranet pour un petit groupe de gens et si une erreur servient il reçoit un couriel pour lui rappeler de rajouter plus de tests. Alors il corrige le bug puis met-à-jour le serveur. Mais souvent il voulait connaitre qui était le malchanceux qui était connecté lors l'exception est arrivée pour lui envoyer un couriel et lui signaler que le bug qu'il avait rencontré était corrigé.
A partir de ce constat il a créé ce petit morceau de middleware
from django.conf import settings
class ExceptionExtraMiddleware(object):
def process_exception(self, request, exception):
if settings.DEBUG:
return
try:
logged_in_info = ''
if request.user:
logged_in_info = "%s" % request.user
if request.user.email:
logged_in_info += ' %s' % request.user.email
if request.user.first_name or request.user.last_name:
logged_in_info += ' (%s %s)' % \
(request.user.first_name, request.user.last_name)
if logged_in_info:
request.META['ERROR-X-LOGGED-IN'] = logged_in_info
except:
# don't make matters worse in these sensitive times
logging.debug("Unable to debug who was logged in", exc_info=True)
Contributions
Article écrit pour Encolpe DEGOUTE et Youenn Boussard pour l'AFPY
Sélection de liens par Encolpe DEGOUTE et Youenn Boussard
Si vous souhaitez écrire pour l'AFPY n'hésitez pas à nous contacter.







