Twisted Python Twitter library with OAuth support

I have just pushed OAuth support in  my Twitty Twister branch on GitHub. This library created by dustin allows to access the Twitter API  using Twisted for Python: a high performance networking engine. It is to my knowledge the first Twitter library written in Python that supports authentication via OAuth. My version of Twitty Twister is backward compatible, allows to choose between standard or OAuth authentication and even allows to change the user’s avatar via OAuth.

The library does not currently support tokens exchanges (the login flow). So, to use this library and the associated examples you need to  register your application on Twitter and get users access tokens using something like Django Twitter Auth for Django.

The 4 first parameters of the examples commands (files ending with -oauth.py in the example/ directory) are always the application’s key, the application’s secret, the user’s key and the user’s secret. See the OAuth Twitter  FAQ for futher information.

Have fun!

Jouons un peu avec Tweet13

Voici Tweet13, le dernier petit gadget Twitter que je viens de programmer.

Comme son nom l’indique, Tweet13 chiffre vos updates Twitter avec ROT13 et ajoute optionellement un lien pour déchiffrer le message.

Quel intérêt de chiffrer un message si tout le monde peut le lire ?
Révéler la fin des films que vous avez vu, donner la réponse à de petits quizz que vous avez créés ou encore parler plus crument que d’habitude sans choquer vos followers sensibles 🙂

Tweet13 à été développé avec Django, JQuery et l’API Twitter.

Voir Tweet13.

Build your own website thumbnail generator with Django

On many website you can see a awesome link preview effect using a thumbnail of the page. There is some web services such as Websnapr or Thumbalizr providing an API to make your own webpages screenshots but it can be annoying to rely on third party projects: free accounts can only display a small among of screenshots and, cannot customize the size of the image, you cannot render Flash animations or Javascript…

Webkit Logo

We will build a website thumbnail generator using CutyCapt, a Webkit based free software designed to make screenshots of web pages, and Django, the powerful Python web framework.

The first step is to download and install CutyCapt. On a Debian-based system (such as Ubuntu) just type the following commands:

Try to open the example.png (i.e: eog example.png), if the install is OK you must see a screenshot of this blog.

I assume your Django installation is working fine. Start a new project if needed (django-admin.py startproject mysite) and create an application called webthumb

with python manage.py startapp in your project.

Django Reinhardt

Edit your urls.py file to add a new pattern to the tuple urlpatterns. It will match screenshots requests and call the thumb view:

Now create a view called thumb in webthumb/view.py with this code:

Adapt the variables CUTYCAPT and THUMBS_DIR with your settings. Of course the directory pointed by THUMBS_DIR must be writeable (chmod 777).

You can now embed website thumbnails in your websites just with this HTML markup <img src="http://localhost/thumb///dunglas.fr" alt="Lapin Blanc" />.

Enjoy !

The last update of Aptana block Django development server

The last update of Aptana Studio come with a new built-in Jetty-based HTTP server running on port 8000… the same as Django development server. There is no good way to disable the preview server feature of the popular editor, but our favorite web framework can be launched on another port. Just type python manage.py runserver 8080 instead of python manage.py and access to your work on http://localhost:8080.

Django logo

hosting.py: un gestionnaire de serveur web pour Debian/Ubuntu

hosting.py, c’est un petit script d’administration de serveurs Debian et ses dérivés (testé sous lenny et Ubuntu).

C’est un outils très simple destiné à gérer les utlisateurs d’un serveur Web (Linux Apache PHP MySQL). Il permet la création, la modification et la suppression d’utilisateurs UNIX et d’hôtes virtuels Apache. Le support des comptes MySQL n’est pas encore publié, mais il le sera bientôt !

La philosophie derrière ce petit programme écrit en Python est d’utiliser au maximum le compte UNIX plutôt que des utilisateurs virtuels pour chaque services. Configurez vos serveurs FTP, Mail et compagnie pour utiliser l’authentification UNIX.

Petit bonus, la gestion des utilisateurs pour le webmail RoundCube est fournie dans les commentaires.

Pour tester : svn checkout http://debian-hosting.googlecode.com/svn/trunk/ debian-hosting-read-only

Pour l’aide : ./hosting.py --help

hosting.py fonctionne en root (sudo ./hosting.py sur Ubuntu).

Que devient Easy Ubuntu ?

Vous vous en souvenez certainement, il y a quelques années maintenant j’avais publié un petit logiciel qui eu un grand succès : Easy Ubuntu.

Easy Ubuntu servait à configurer automatiquement Ubuntu et à y installer les logiciels nécessaires à son utilisation courante (Flash, Java, codecs audio et vidéo, …). Il a participé à la démocratisation de cette distribution et a permis à un grand nombre de personnes de franchir le pas vers GNU/Linux.

Aujourd’hui, Ubuntu a évolué et Easy Ubuntu n’a plus aucune raison d’être. La distribution inclus désormais des utilitaires très “user friendly” qui permettent de récupérer et d’installer les modules propriétaires mais utiles par elle même.

Pourtant, de nombreuses requêtes arrivent toujours sur ce blog en provenances de recherches telles que “télécharger Easy Ubuntu”.

La première version, écrite en Bash et utilisant Zenity pour l’interface est toujours disponible dans les archives de mon ancien blog. (On y trouve aussi des scripts PHP et quelques mods pour PunBB et XOOPS sur lesquels je reviendrais peut-être ultérieurement.) Elle ne fonctionne que sur les veilles version d’Ubuntu (Warty, Breezy).

Capture d'écran d'Easy Ubuntu

J’avais ensuite ré-écrit entièrement le logiciel en Python / Glade pour qu’il soit plus stable et performant puis m’étais retiré du projet par manque de temps. Il avait été repris par une équipe de passionnés. À l’époque, nous avions créé un site internet pour Easy Ubuntu. Les archives de la version Python sont toujours disponible sur celui-ci.

Ce fût la fin de mon aventure avec Easy Ubuntu, mais pas celle avec Ubuntu. J’ai ensuite conçu Conceal, un gestionnaire de dossiers chiffrés pour GNU/Linux en général et Ubuntu en particulier, lors du Summer of Code 2007. J’ai du le mettre en demeure au cours de cette année suite à un emploi du temps chargé mais je reprend son développement. Une nouvelle version sortira très prochainement !