[840] | 1 | # -*- coding: ISO-8859-1 -*- |
---|
| 2 | |
---|
| 3 | ################################## |
---|
| 4 | # @program smon |
---|
| 5 | # @description simulation monitor |
---|
| 6 | # @copyright Copyright â(c)2009 Centre National de la Recherche Scientifique CNRS. |
---|
| 7 | # All Rights Reservedâ |
---|
| 8 | # @svn_file $Id: dao.py 2585 2013-03-24 04:09:22Z jripsl $ |
---|
| 9 | # @version $Rev: 2585 $ |
---|
| 10 | # @lastrevision $Date: 2013-03-24 05:09:22 +0100 (Sun, 24 Mar 2013) $ |
---|
| 11 | # @license CeCILL (http://dods.ipsl.jussieu.fr/jripsl/smon/LICENSE) |
---|
| 12 | ################################## |
---|
| 13 | |
---|
| 14 | from logger import * |
---|
| 15 | |
---|
| 16 | class DAO(Database,Logger): |
---|
| 17 | message_columns="id,name,timestamp,nested_level,simulation_id" |
---|
| 18 | |
---|
| 19 | @classmethod |
---|
| 20 | def getMessageFromResultSet(self,rs): |
---|
| 21 | return Message(id=rs[0],name=rs[1],timestamp=rs[2],nested_level=rs[3],simulation_id=rs[4]) |
---|
| 22 | |
---|
| 23 | @classmethod |
---|
| 24 | def addMessage(self,message,con): |
---|
| 25 | c = con.cursor() |
---|
| 26 | |
---|
| 27 | c.execute("insert into message (id,name,timestamp,nested_level,simulation_id) values (?,?,?,?,?)",(m.name,m.timestamp,m.nested_level,m.simulation_id)) |
---|
| 28 | |
---|
| 29 | m.id=c.lastrowid |
---|
| 30 | |
---|
| 31 | c.close() |
---|
| 32 | |
---|
| 33 | @classmethod |
---|
| 34 | def getMessages(self): |
---|
| 35 | messages=[] |
---|
| 36 | |
---|
| 37 | c = self._conn.cursor() |
---|
| 38 | |
---|
| 39 | q="select %s from message order by timestamp asc" % (self.message_columns) |
---|
| 40 | c.execute(q) |
---|
| 41 | |
---|
| 42 | rs=c.fetchone() |
---|
| 43 | while rs!=None: |
---|
| 44 | messages.append(self.getMessageFromResultSet(rs)) |
---|
| 45 | rs=c.fetchone() |
---|
| 46 | |
---|
| 47 | c.close() |
---|
| 48 | |
---|
| 49 | return messages |
---|