Octubre 2007

Está navegando por los artículos de Octubre 2007.


Video de 20min sobre un pueblito andino

Bueno, estuve investigando como se puede sacar un feed de una categoría/etiqueta del sistema blogger.

Esto porque en aclibre van a montar un planetplanet, pero se requiere filtrar categorías y usar solo las que tiene que ver con software libre y eventos. jeffto y ruri tenían sus blogs en blogger, pero hoy me di cuenta que ya se mudaron a wordpress. xD

Así que busque en google algún blog sobre SL y que este en blogger, encontre este: http://solosoftwarelibre.blogspot.com/ , en el se encuentran varias categorías, y entre ellas una de nombre Linux, de la cual vamos descubrir el feed.

  • En cualquier navegador colocamos la dirección del blog, en este caso: solosoftwarelibre.blogspot.com
  • vemos el código html de la pagina para buscar el blogID, el de este blog es: 2323810492267606206

El resultado: http://www.blogger.com/feeds/2323810492267606206/posts/summary/-/Linux

feed blogger

Ahora como se hace?

La dirección base sería: http://www.blogger.com/feeds/<blogID>/posts/<Tipo>/-/<Etiqueta>

Donde:

  • blogID es el id que sacamos del html
  • Tipo, es como se va a mostrar los post en el feed, puede ser: full o summary, full muestra todo, y summary solo el resumen.
  • Etiqueta, es la categoría/etiqueta de la que queremos obtener el feed

la información la conseguí en: http://lists.planetplanet.org/archives/devel/2007-February/001408.html y http://phydeaux3.blogspot.com/2006/09/feeds-for-labels-in-beta-blogger.html

Los que me conocen saben mi gusto por la música electrónica, así que les dejo una que me parece muy buena

feels so real, can’t see it clear
right in the path of this mind
anywhere, anytime
ability to make you see

we count every single second
just waiting for a day
where we all wake up, just to fade away
no use in leaning back and let it head our way
cuz we’ll all wake up, just to fade away

touch the screen , plug me in
just press the key, velocity
record my life, design my fear
that’s why I brought you here
to make me care

we count every single second
just waiting for a day
where we all wake up, just to fade away
no use in leaning back and let it head our way
cuz we’ll all wake up, just to fade away
no use in leaning back and let it head our way
cuz we’ll all wake up, just to fade away

remove the shades it’s not like it seems
fatality, go with your dreams
hypnotize, interfere..
that’s why I brought you here, to make me care

we count every single second
just waiting for a day
where we all wake up, just to fade away
no use in leaning back and let it head our way
cuz we’ll all wake up, just to fade away

Saludos.

Buscando un modo de usar/crear archivos de configuración para un proyecto que estoy haciendo en python, conseguí un modulo que se encarga de eso.

El modulo se llama ConfigObj lo pueden conseguir en: sourceforge.net/projects/configobj
Y la documentación en: www.voidspace.org.uk/python/configobj.html.

Como se usa:

Leyendo la documentación se encuentra todas las funciones que se pueden usar, incluso para la validación, ver: www.voidspace.org.uk/python/validate.html

El archivo de configuración debe llevar un formato para que el modulo pueda leerlo correctamente, creando los valores, que son como una especie de variables, algo asi como: variable1 = 0 y en el que también existen secciones de forma: [seccion1] y cada sección anida valores, esto es útil para ordenar.

En el cual un archivo de configuración puede ser:
[seccion1]
varieble1 = 200
variable2 = ‘xyz’

[seccion2]
variable3 = 0

Ya para el final, coloco un ejemplo real que estoy usando en el programa, por ahora funciona para guardar el tamaño y posición de una ventana, lo estoy usando para gtk, pero puede servir para cualquier otra librería gráfica como qt, ya que no depende de ninguna, solo trabaja con el archivo de configuración y guarda las variables, que luego pueden ser usada como desee.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
from configobj import ConfigObj
from validate import Validator,ValidateError

class C_Prefs:
	config = ConfigObj(“config.cfg”, create_empty=True)

	configV = Validator()
	#tamaño y posicion de ventanas
	windowWHpre = {‘width’ : 400, ‘height’ : 500, ‘x’ : 0, ‘y’ : 0}

	result = len(config)
	if result == 0:

		config["windowWH"] = windowWHpre
		config.write()

		windowWH = config["windowWH"]
	else:
		windowWH = config["windowWH"]

	for i in windowWHpre:
		try:
			result = configV.check(‘integer’, windowWH[i])

		except:
			windowWH[i] = windowWHpre[i]

	width = int(windowWH["width"])
	height = int(windowWH["height"])

	x = int(windowWH["x"])
	y = int(windowWH["y"])

	def wrwindowWH(self, width, height, x, y):

		self.config["windowWH"]["width"] = width
		self.config["windowWH"]["height"] = height
		self.config["windowWH"]["x"] = x
		self.config["windowWH"]["y"] = y
		self.config.write()

Este código revisa el archivo config.cfg y si no existe lo crea, ya el resto queda de parte de la curiosidad para revisar estas lineas y la documentación del modulo.