Category > Python

Truco Manso: obtener una cadena hexadecimal aleatoria en python

Obtener una cadena de bytes aleatoria es una de esas cosas que hacen falta de vez en cuando.
La opción más sencilla en python es importar uuid y hacer la siguiente llamada:
uuid.uuid4().hex
Ale, con esa llamada ya tenemos 32 caracteres hexadecimales aleatorios (16 bytes aleatorios).
¿Sabes de algún otro método?

Continue reading

,

TrucoManso: Transformar el tiempo en formato 24h a formato 12h (Python)

Truco manso para transformar una cadena de tiempo en formato de 24h en formato de 12h (AM/PM)

def ampmformat (hhmmss):
“”"
This method converts time in 24h format to 12h format
Example: “00:32″ is “12:32 AM”
[...]

Continue reading

, ,

Soporte de unicode en Python: Frustraciones y Soluciones

Personalmente el soporte de unicode en Python anterior a Python 3, siendo finos, es una puta mierda. Casi prefiero el soporte que tiene PHP 5.x de unicode (cero patatero).
Sinceramente es para volverse loco, porque cosas que a priori van, luego petan, o realmente no petan, sólo petan cuando intentas mostrarlas por la consola haciendo print…
En [...]

Continue reading

, , ,

Serializando datos nativos en Python

Resulta que para un proyecto en Python en el que estoy trabajando necesitaba serializar algunas estructuras. El tema es que únicamente hacía falta serializar tipos nativos como listas, diccionarios, cadenas, enteros, etc…
Lo que me hacía falta era:

representación compacta
serialización/deserialización rápida
legible / editable por un humano

Así que después de pensar un rato, he encontrado 3 posibles soluciones [...]

Continue reading

, , , , ,

bbcodeutils: BBCode parser and BBCode to HTML for Python

Ayer anduve buscando algún módulo para Python para parsear Bulletin Board Code (bbcode para los amigos) o que fuera capaz de transformarlo en HTML.
Como ninguna solución cumplía mis necesidades al 100% he creado bbcodeutils que no es mas que un conjunto de clases en Python para parsear, generar y transformar bbcode. He intentado que sea [...]

Continue reading

, , ,

[SOLVED] Añadir claves únicas en Google App Engine en 3 lineas

El problema:
Google App Engine mola, y la verdad es que programar en Python se me está empezando a hacer agradable, aunque me sigue gustando más la indentación con llaves…
En fin, la base de datos que usa Google es superpotente y supersencilla, si bien tiene algunas limitaciones con las que hay que aprender a vivir. Con [...]

Continue reading

, , , ,

Truco Manso: eliminar tags HTML en Python

La idea es eliminar todos los tags HTML de una determinada cadena.
El siguiente no es el mejor código del mundo, pero hace el papel.

def stripHTMLTags (html):
"""
Strip HTML tags from any string and transfrom special entities
"""
import re
text = html
 
# apply rules in [...]

Continue reading

, , , ,

Obtener el user-agent en Google App Engine con Python

Básicamente el User-Agent nos indica cual es el cliente que está realizando la petición. Si se trata de un navegador, de un robot, …  En principio esta cadena se envía en todas las cabeceras HTTP, sea el cliente que sea (aunque también podría omitirse).
Para obtener el “user-agent” en Google App Engine símplemente, desde cualquier método [...]

Continue reading

, ,

Longitud máxima de una URL (o GET) en Google App Engine

Quería realizar experimentos acerca de la longitud máxima con la que se puede hacer una petición con GET en los distintos navegadores, y al final el más restrictivo ha resultado ser el servidor.
Según las pruebas que he estado realizando, resulta que Google App Engine sólo hacepta URLs de hasta 2048 caracteres.
Por lo tanto, si vas [...]

Continue reading

, , ,

GeoIP en Google App Engine

Me resulta sorprendente que Google no ofrezca ningún servicio o método en Google App Engine para obtener la localización geográfica a partir de la IP. Es algo que ellos tienen más que resuelto, y no veo motivo por el cual no lo ofrezcan a los desarrolladores en la parte del servidor  (en la parte del [...]

Continue reading

, ,

prev posts