Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. '''
  2. Created on 21/nov/2010
  3.  
  4. @author: placava
  5. '''
  6.  
  7.  
  8. from piergiuseppe82.guestbook.model.Dedica import Dedica
  9. import MySQLdb
  10. import logging
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17. class DedicaDao(object):
  18.     '''
  19.    classdocs
  20.    '''
  21.    
  22.     def __init__(self):
  23.         self.__host__="localhost"
  24.         self.__user__="root"
  25.         self.__passwd__="smlab82"
  26.         self.__db__="test_py"
  27.        
  28.        
  29.        
  30.     def findById(self,id):
  31.         sql = """select id,nickname,email,messaggio,dataInserimento
  32.                    from dedica where id=%d""" % (id)
  33.         conn = MySQLdb.connect(host=self.__host__, user=self.__user__, passwd=self.__passwd__, db=self.__db__)
  34.         cursor = conn.cursor()
  35.         row = None
  36.         try:
  37.             cursor.execute(sql)
  38.             row = cursor.fetchone()
  39.             cursor.close()
  40.             conn.commit()
  41.         except Exception as e:            
  42.             conn.rollback()
  43.             logging.error("Unexpected error:"+ e)
  44.             logging.debug("rollback")
  45.         conn.close()
  46.         return self.__rowToDedica__(row)
  47.    
  48.     def insert(self,dedica):
  49.         logging.debug("chiamato Inserte")
  50.         sql = """insert into dedica
  51.                    (nickname, email, messaggio)
  52.                    values('%s','%s','%s')""" % (dedica.getNickname(),dedica.getEmail(),dedica.getMessaggio())
  53.         conn = MySQLdb.connect(host=self.__host__, user=self.__user__, passwd=self.__passwd__, db=self.__db__)
  54.         cursor = conn.cursor()
  55.         logging.debug("aperto il cursore")
  56.         try:
  57.             cursor.execute(sql)
  58.             cursor.close()
  59.             logging.debug("eseguito close cursor")
  60.             conn.commit()
  61.             logging.debug("eseguto commit")
  62.         except Exception as e:            
  63.             conn.rollback()
  64.             logging.error("Unexpected error:"+ e)
  65.             logging.debug("rollback")
  66.         conn.close()
  67.         logging.debug("connsione chiusa")
  68.    
  69.     def update(self,dedica):
  70.         logging.debug("chiamato Update")
  71.         sql = """update dedica
  72.                    set nickname='%s', email='%s', messaggio='%s' where id=%d
  73.                    """ % (dedica.getNickname(),dedica.getEmail(),dedica.getMessaggio(),dedica.getId())
  74.         logging.debug(sql)
  75.         conn = MySQLdb.connect(host=self.__host__, user=self.__user__, passwd=self.__passwd__, db=self.__db__)
  76.         cursor = conn.cursor()
  77.         try:
  78.             cursor.execute(sql)
  79.             cursor.close()
  80.             conn.commit()
  81.         except Exception as e:            
  82.             conn.rollback()
  83.             logging.error("Unexpected error:"+ e)
  84.             logging.debug("rollback")
  85.         conn.close()
  86.    
  87.     def delete(self,id):
  88.         sql = """delete from dedica where id = %d""" % (id)
  89.         conn = MySQLdb.connect(host=self.__host__, user=self.__user__, passwd=self.__passwd__, db=self.__db__)
  90.         cursor = conn.cursor()
  91.         try:
  92.             cursor.execute(sql)
  93.             cursor.close()
  94.             conn.commit()
  95.         except Exception as e:            
  96.             conn.rollback()
  97.             logging.error("Unexpected error:"+ e)
  98.             logging.debug("rollback")
  99.         conn.close()
  100.  
  101.    
  102.     def findAll(self):
  103.         logging.debug("Chiamato find all")
  104.         sql = """select id,nickname,email,messaggio,dataInserimento
  105.                    from dedica order by dataInserimento asc"""
  106.         conn = MySQLdb.connect(host=self.__host__, user=self.__user__, passwd=self.__passwd__, db=self.__db__)
  107.         rows=None
  108.         cursor = conn.cursor()
  109.         try:
  110.             cursor.execute(sql)
  111.             rows = cursor.fetchall()
  112.             cursor.close()
  113.             conn.commit()
  114.         except Exception as e:            
  115.             conn.rollback()
  116.             logging.error("Unexpected error:"+ e)
  117.             logging.debug("rollback")
  118.         conn.close()
  119.         return self.__rowsToDediche__(rows)
  120.        
  121.     def __rowToDedica__(self,row):
  122.         logging.debug("Chiamato rowToDedica")
  123.         logging.debug(row)
  124.         if not(row):
  125.             return None
  126.         return Dedica(row[0],row[1],row[2],row[3],row[4])
  127.    
  128.     def __rowsToDediche__(self,rows):
  129.         logging.debug("Chiamato rowsToDediche")
  130.         if not(rows):
  131.             return None
  132.         listDediche = []
  133.         for row in rows:
  134.             dedica = self.__rowToDedica__(row)
  135.             listDediche.append(dedica)
  136.         return listDediche