Conexion a MySQL con Python 101

English: Python logo Deutsch: Python LogoMySQL

Dejo aquí lo que seria los parámetros básicos para conectarnos a una base de datos MySQL con Python y que nos devuelva los resultados de una consulta

import MySQLdb as dbapi
bbdd = dbapi.Connect(host='localhost',user='myuser',passwd='mypass',db='mydb')
cursor = bbdd.cursor()
sql = "SELECT * FROM table WHERE field like %s"
params = 'myparam'
cursor.execute(sql, params)
for datos in cursor.fetchall():
    print datos

Por defecto el paramstyle en la conexión con MySQL es «format»
en el cual los especificadores se poner de la misma manera que lo haríamos con el printf en C

Si quisieramos establecer otro tipo de especificador lo hariamos de la siguiente manera

bbdd.paramstyle = "qmark" # los especificadores con ? "select * from table where valor=?"
bbdd.paramstyle = "numeric" # numero indicando la posicion "select * from table where :1"
bbdd.paramstyle = "named" #el nombre del valor :nombre "select * from table where :nombre"

Mi servidor envía mensajes como no deseados a Hotmail – Fixed

Bien, primero de todo, este post esta destinado a los que administramos un servidor de correo y su dominio y podemos modificar parametros en el.

Seguro que a los que administramos un servidor de correo os puede sonar la siguiente conversación:

Usuario: «he mandado un mensaje a un cliente y no le ha llegado»

Administrador: «¿El correo del cliente no sera Hotmail?»

Usuario: «Si es Hotmail»

Administrador: «Pues lo tendrá en la carpeta de no deseado»

Y seguro que esta ahí.  Puede que entonces digamos vamos a mirar como estamos en las listas de spammers a ver que puntuación tenemos. Para eso, yo por lo menos voy a la pagina http://whatismyipaddress.com/blacklist-check y hago un chequeo a ver si mi ip esta listada en alguna blacklist.

Seguramente después de hacer esto, en la mayoría de los casos, por lo menos en el mio, veremos que nuestra ip no esta en ninguna lista, y aun asi si mandamos correos a hotmail, llegan como no deseados, a no ser que el cliente nos marque como remitente seguro.

¿Que hacer?

Bien, Microsoft nos da un wizard para que podamos crear una entrada SPF en nuestro DNS.

A este asistente accedemos desde esta pagina http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/default.aspx

Una vez aquí ponemos nuestro dominio y nos hará un chequeo a ver como lo tenemos.

Seguramente nos dara un aviso que no tenemos un registro SPF, asi que seguiremos el asistente, en ingles por supuesto, nos hara unas preguntas y al final nos dara un registro para que lo agregemos.

Este registro sera mas o menos asi: v=spf1 mx ptr ip4:111.111.111.111 mx:mail.midominio.com -all

He sustituido la ip de mi servidor por 111.111.111.111 y la dirección de mi servidor de correo por mail.midominio.com

Seguramente teneis configurado el proveedor de DNS en algun agente registrador, y este os facilita algun interfaz para poder hacer las entradas DNS, esta entrada, tal cual se agrega en un tipo A TXT.

Una vez agregada la entrada y pasado un rato, se puede iniciar otra vez el asistente y ver si ya microsoft nos detecta bien, y lo mejor de todo, seguramente vuestros correos ya no llegaran como no deseados a Hotmail.

 

El cine, con cara de click | Alicante | elmundo.es

Indiana Jones en busca del arca perdida

El Señor de los anillos

Top Gun

Rocky I

El cine, con cara de click | Alicante | elmundo.es.

Roomba Art

Roomba Art by rubenlacasa::2012
Roomba Art, a photo by rubenlacasa::2012 on Flickr.

Después de ver el reportaje sobre el Roomba Art, tenia que probarlo

Arte y exposiciones largas con una aspiradora automática

Arte y exposiciones largas con una aspiradora automática

Arte y exposiciones largas con una aspiradora automática.

45 Impressive Examples of Infrared Photography | inspirationfeed.com

45 Impressive Examples of Infrared Photography | inspirationfeed.com.

60 Impressive Star Wars Illustrations and Artworks | inspirationfeed.com

60 Impressive Star Wars Illustrations and Artworks | inspirationfeed.com.

Le origini della Fotografia [1569] – Storia della Fotografia

Le origini della Fotografia [1569] – Storia della Fotografia.

Initializr – Start an HTML5 Boilerplate project in 15 seconds!

Initializr – Start an HTML5 Boilerplate project in 15 seconds!.

Clase para la conexión a Base de Datos con PDO basada en Singleton Pattern – PHP Tips

Esta es una clase la cual la uso muchísimas veces para establecer la conexión a una base de datos con PHP. Se establece la conexión via PDO y esta basada en el patrón Singleton.  Una de las ventajas que tiene esta clase es que solo establece la conexión una vez, y por muchas veces que sea instanciada no duplica la conexión.

final class DBConnection {
	
    private static $_handle = null;
    private static $_dsn = "mysql:dbname=mydb;host=my.host.com;port=3306";
    private static $_user = "myUserName";
    private static $_password = "myPassword";
    private static $_options = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); // SET UTF-8
    /**
     * Deny Construct
     */
    private function __construct()
    {
    }
    /**
     * Deny Clone
     */
    private function __clone()
    {
    }
    /**
     * Function to connect width database
     */
    function connect()
    {
        if ( is_null( self::$_handle ) ) {
            try {
                self::$_handle = new PDO( 
                    self::$_dsn, self::$_user, self::$_password, self::$_options 
                   );
            } catch ( PDOException $error ){
                die ( $error->getMessage() );
            }
        }
        return self::$_handle;
    }
}

La tengo disponible en http://gist.github.com/1771941 o para clonar con Git en git://gist.github.com/1771941.git