import string
class agenda:
def __init__(self,modDB,info):
self.db=modDB.connect(info)
self.db.autoCommit(1)
def volcado(self):
ret=[]
for k in self.db.keys():
ret.append( (k,self.db[k]) )
return ret
def encuentra(self, clave):
clave=string.upper(str(clave))
cur=self.db.cursor()
cur.execute('''select clave,nombre,direccion
from agenda
where clave='%s' ''' % clave)
k=cur.fetchall()
cur.close()
if k:
k=k[0]
return (k[0],(k[1],k[2]))
else:
return None
def busca(self, clave):
clave='%'+string.upper(str(clave))+'%'
cur=self.db.cursor()
cur.execute('''select clave,nombre,direccion
from agenda
where clave like '%s' ''' % clave)
ret=[]
for k in cur.fetchall():
ret.append( (k[0],(k[1],k[2])) )
return ret
def nuevo(self,clave,contenido):
clave=string.upper(str(clave))
nombre,direccion=contenido
cur=self.db.cursor()
cur.execute('''insert into agenda(clave,nombre,direccion)
values('%s','%s','%s')''' % (clave,nombre,direccion) )
cur.close()
if __name__=='__main__':
import PoPy
import pprint
ag=agenda(PoPy,'dbname=template1')
try:
cur=ag.db.cursor()
cur.execute('select * from agenda')
cur.close()
except:
print 'creando tabla agenda'
cur=ag.db.cursor()
cur.execute("""create table agenda(
clave varchar(255) not null,
nombre varchar(255),
direccion varchar(255) )""")
print 'creando clave'
cur=ag.db.cursor()
cur.execute('create index agenda_pk on agenda(clave)')
print 'insertando datos de prueba'
ag.nuevo('ErnestoBKE', ('SQL Ernesto Molina','emolina@grupoburke.com'))
ag.nuevo('Ernesto', ('SQL Ernesto Molina','rotoxl@jazzfree.com'))
ag.nuevo('MarcosBKE', ('SQL Marcos Sánchez','msanchez@grupoburke.com'))
ag.nuevo('Marcos', ('SQL Marcos Sánchez','rapto@arrakis.es'))
print ag.encuentra('Ernesto')
pprint.pprint (ag.busca('BKE'))
ag.db.close()
|