[EMAIL PROTECTED] wrote:
> ello there. i am having a problem getting a module to work right.
> 
> i wrote a class that is going to be used in a few different scripts in
> the same directory.
> 
> it looks like this:
> 
> #!/usr/bin/python
> 
> import MySQLdb
> 
> class DbConnector(object):
>       """
>       Database Connection object.
>       class receives the db argument to specify the database.
>       """
> 
>       def __init__(self, db='test_db', host="10.10.10.16",user="me",
> passwd="mypass"):
>               self.host   =   host
>               self.user   =   user
>               self.passwd =   passwd
>               self.db = db
>               # Unpack Other Database Arguments Here
>               self.CreateConnection()
> 
>       def createConnection(self):
>               self.connection = MySQLdb.connect(self.host, self.user, 
> self.passwd,
> self.db)
> 
>       def killConnection(self):
>               self.connection.close()
> 
>       def getMany(self, sql_statement):
>               cursor = self.connection.cursor()
>               try:
>                       cursor.execute(sql_statement)
>                       result = cursor.fetchall()
>                       self.connection.close()
>                       return result
>               except:
>                       self.connection.close()
> 
> the file is saved as DbConnector.py and made executable.
> then i get this in idle
> 
>>> import DbConnector
>>> x = DbConnector()
> 
> then it tells me that the module object is not callable.
> 
> this works though
>>> import DbConnector
>>> x = DbConnector
>>> x.db = 'other_db'
>>> results = x.getOne("SELECT * FROM `stuff`")
> 
> it tells me that the module has no attribute getOne.
> 
> i am really not trying for an attribute, but a method.
> 
> anyone know what i am doing wrong?
> 
> thanks
> 
You can do either:

from DbConnector import *
x=DbConnector()

or (preferred method these days)

import DbConnector
x=DbConnector.DbConnector()

When you zay x=DbConnector all you are doing is setting a
variable (pointer) x that points to the class DBconnector,
which is basically an alias.  x in fact would not have
a getOne method as it hasn't been instantiated yet.

-Larry Bates
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to