Buscar

Atom

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:

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:

planet.py.patch

planetlib.py.patch

Espero que resulten útiles.

* * *


  1. pq UTF-8 y no ISO-8859-1?
    es rfc822 lo mismo que UTC?
    pq setlocale a ‘C’?
    — Albin    mar 24, 04:00 PM    #
  2. ¿UTF-8?

    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    #