El software "Planet"
Escrito por Juanjo Navarro. 24 marzo 05
Para montar el “planeta” he utilizado el software planet que tiene las siguiente características:
- Desarrollado en Python.
- Genera páginas estáticas (se programa en un cronjob para que las genere cada hora, por ejemplo).
- Utiliza un parser bastante bueno de feeds, con soporte para rss, atom, etc.
Se instala fácilmente y se configura también fácilmente siguiendo las instrucciones del README. No obstante he encontrado bastantes problemas para “castellanizarlo” (vamos que no tiene soporte para el castellano :-) ) Lo primero que hay que hacer es conseguir que lea una nueva variable “locale” del fichero de configuración y fijarlo como locale por defecto.
deflocale = config_get(config, "Planet", "locale", LOCALE) locale.setlocale(locale.LC_ALL, deflocale)
Y además se añade la variable “locale” al fichero “config.ini”:
[Planet] name = Planeta Código link = http://www.planetacodigo.com locale = es_ES.UTF-8
Con esto se consigue que salgan las fechas en castellano. El problema entonces es que el fichero rss deja de funcionar ya que la especificación dice que las fechas de los rss van en formato rfc822 el cual debe poner las fechas en inglés. Lo que hacemos es cambiar el locale a ‘C’ cuando vayamos a generar este tipo de fechas:
if fmt == 'rfc822':
locale.setlocale(locale.LC_TIME, 'C')
value = time.strftime(fmt, time.gmtime(self.utctime(date)))
locale.setlocale(locale.LC_TIME, '')
He creado dos ficheros de parches (para utilizar con la herramienta patch) con los cambios necesarios:
Espero que resulten útiles.
* * *
Primera entrada o cómo ha empezado esto Programación 90%. Resto 10%
es rfc822 lo mismo que UTC?
pq setlocale a ‘C’?
— Albin mar 24, 04:00 PM #
Porque es lo mejor para entorno web. La mejor explicación la tienes aquí
¿rfc822 y UTC?
No, no es lo mismo. UTC dice la zona horaria, rcf822 dice que la fecha viene en formato
Sun, 27 Mar 2005 23:21:26 +0000
Es decir: el día de la semana (3 letras), una coma, el día de mes, un espacio, el mes (3 letras), etc, etc.
¿setlocale a ‘C’?
Al poner el setlocale a ‘C’ conseguimos que salgan las fechas en inglés (“Sun”, “Sat”, etc).
— Juanjo Navarro mar 28, 01:39 AM #