# -*- coding: ISO-8859-1 -*- ################################## # @program smon # @description simulation monitor # @copyright Copyright “(c)2009 Centre National de la Recherche Scientifique CNRS. # All Rights Reserved” # @svn_file $Id: dao.py 2585 2013-03-24 04:09:22Z jripsl $ # @version $Rev: 2585 $ # @lastrevision $Date: 2013-03-24 05:09:22 +0100 (Sun, 24 Mar 2013) $ # @license CeCILL (http://dods.ipsl.jussieu.fr/jripsl/smon/LICENSE) ################################## from logger import * class DAO(Database,Logger): message_columns="id,name,timestamp,nested_level,simulation_id" @classmethod def get_message_from_resultset(self,rs): return Message(id=rs[0],name=rs[1],timestamp=rs[2],nested_level=rs[3],simulation_id=rs[4]) @classmethod def add_message(self,message,con): c = con.cursor() c.execute("insert into message (id,name,timestamp,nested_level,simulation_id) values (?,?,?,?,?)",(m.name,m.timestamp,m.nested_level,m.simulation_id)) m.id=c.lastrowid c.close() @classmethod def get_messages(self): messages=[] c = self._conn.cursor() q="select %s from message order by timestamp asc" % (self.message_columns) c.execute(q) rs=c.fetchone() while rs!=None: messages.append(self.getMessageFromResultSet(rs)) rs=c.fetchone() c.close() return messages