Seite 1 von 1

MySQLdb wrapper erhält keine Connection

Verfasst: Freitag 9. August 2013, 18:49
von sedi
Hallo zusammen,

habe mich heute mal mit MySQLdb beschäftigt und zum Reinschnuppern versucht einen Wrapper zu schreiben. Bin aber bereits beim Connecten hängen geblieben, nur warum?

Hier mein Modul ``mymy.py``:

Code: Alles auswählen

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

""" thin MySQLdb wrapper """

import MySQLdb as MYSQL


class MySQL(object):
    def __init__(self, host="", user="", passwd="", *args, **kwargs):
        self.host = host
        self.user = user
        self.passwd = passwd
        
        self.connection = None
    
    def connect(self, host="", user="", passwd=""):
        if host and user and password:
            self.connection.close()
            self.connection = None
            self.host = host
            self.user = user
            self.passwd = passwd
        
        self.connnection = MYSQL.connect(self.host,
                                         self.user,
                                         self.passwd)
    
    def __str__(self):
        if self.connection:
            conn = "connected"
        else:
            conn = "no connection"
        
        return  """MySQL:
    Host:       %s
    User:       %s
    Passwort:   %s
    Connection: %s""" % (self.host, self.user, "************", conn)
        

if __name__ == "__main__":
    db = MySQL("localhost", "root", "esrpwp")
    db.connect()
    print db
Und die Ausgabe bei ``python mymy.py`` zeigt keine Verbindung an :( :

Code: Alles auswählen

MySQL:
    Host:       localhost
    User:       root
    Passwort:   ************
    Connection: no connection

Re: MySQLdb wrapper erhält keine Connection

Verfasst: Freitag 9. August 2013, 19:10
von BlackJack
@sedi: Du musst Dich einfach nur entscheiden `connnection` oder `connection` zu schreiben. ;-)

Re: MySQLdb wrapper erhält keine Connection

Verfasst: Freitag 9. August 2013, 19:16
von sedi
oh mann sh...,

Danke @BlackJack

Re: MySQLdb wrapper erhält keine Connection

Verfasst: Samstag 10. August 2013, 23:28
von /me
Ich halte es von der Namensgebung her für keine besonders gelungene Idee etwas unter dem Namen MYSQL zu importieren und dann noch eine Klasse namens MySQL zu definieren. Die Namen sind sich deutlich zu ähnlich und zu leicht verwechselbar.

Spätestens wenn man in einem Programm mal ähnliche Dinge wie die folgenden Werte hatte, dann weiß man wozu eine deutliche Unterscheidungsmöglichkeit gut ist:

Code: Alles auswählen

10, l0, lO