Ignore:
Timestamp:
06/11/13 15:05:18 (11 years ago)
Author:
jripsl
Message:

Repository I/O implementation (suite).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Monitoring/smon/local_repo.py

    r871 r875  
    2626                raise Exception() 
    2727 
    28         _conn=sqlite3.connect(":memory:",timeout) 
     28        db_file="/home/jripsl/supervisor/local_db/local_repo.db" 
     29        #db_file=":memory:" 
     30 
     31        _conn=sqlite3.connect(db_file,timeout) 
    2932 
    3033        create_tables() 
     
    4043        _conn=None 
    4144 
     45def commit(): 
     46        """ 
     47        public method 
     48 
     49        not used for now 
     50        """ 
     51        _conn.commit() 
     52         
     53def rollback(): 
     54        _conn.rollback() 
     55 
    4256def create_tables(): 
    4357 
    44         _conn.execute("create table simulation (id INTEGER PRIMARY KEY, name TEXT)") 
    45         _conn.execute("create unique index idx_simulation on simulation (name)") 
     58        _conn.execute("create table if not exists simulation (id INTEGER PRIMARY KEY, name TEXT, status TEXT)") 
     59        _conn.execute("create unique index if not exists idx_simulation_1 on simulation (name)") 
    4660 
    47         _conn.execute("create table message (id INTEGER PRIMARY KEY, simulation_id TEXT)") # TODO: check how to use INT datatype for simulation_id column 
     61        _conn.execute("create table if not exists message (id INTEGER PRIMARY KEY, simulation_id TEXT)") # TODO: check how to use INT datatype for simulation_id column 
     62 
     63def cleanup(): 
     64        _conn.execute("delete from simulation") 
     65        _conn.execute("delete from message") 
     66        _conn.commit() 
    4867 
    4968def populate_tables_with_sample(): 
    5069 
    51         rows = [('SIMU-001',), 
    52                         ('SIMU-002',), 
    53                         ('SIMU-003',),] 
    54         _conn.executemany('INSERT INTO simulation (name) VALUES (?)', rows) 
     70        rows = [('SIMU-001','running'), 
     71                        ('SIMU-002','running'), 
     72                        ('SIMU-003','running'),] 
     73 
     74        _conn.executemany('INSERT INTO simulation (name,status) VALUES (?,?)', rows) 
     75 
     76        _conn.commit() 
    5577 
    5678def retrieve_simulations(): 
     
    5880        c=_conn.cursor() 
    5981 
    60         c.execute("select name,id from simulation") 
     82        c.execute("select name,id,status from simulation") 
    6183 
    6284        rs=c.fetchone() 
    6385        while rs is not None: 
    64                 li.append(types.Simulation(name=rs[0],id=rs[1])) 
     86                li.append(types.Simulation(name=rs[0],id=rs[1],status=rs[2])) 
    6587                rs=c.fetchone() 
    6688 
     
    7092        c=_conn.cursor() 
    7193 
    72         c.execute("select name,id from simulation where name = ?",(name,)) 
     94        c.execute("select name,id,status from simulation where name = ?",(name,)) 
    7395 
    7496        rs=c.fetchone() 
     
    7799                raise Exception() 
    78100 
    79         return types.Simulation(id=rs[1]) 
     101        return types.Simulation(name=rs[0],id=rs[1],status=rs[2]) 
    80102     
    81103def delete_simulation(simulation): 
    82104        _conn.execute("delete from simulation where name = ?",(simulation.name,)) 
    83105 
     106        _conn.commit() 
     107 
    84108def create_simulation(simulation): 
    85         _conn.execute("insert into simulation (name) values (?)",(simulation.name,)) 
     109        _conn.execute("insert into simulation (name,status) values (?,?)",(simulation.name,simulation.status)) 
     110 
     111        _conn.commit() 
    86112     
    87113def update_simulation_status(simulation): 
    88114        _conn.execute("update simulation set status=? where name = ?",(simulation.status,simulation.name)) 
     115 
     116        _conn.commit() 
    89117 
    90118def retrieve_messages(simulation): 
     
    105133        _conn.execute("delete from message where simulation_id = ?",(simulation.id,)) 
    106134 
     135        _conn.commit() 
     136 
    107137def create_message(message): 
    108138        _conn.execute("insert into message (simulation_id) values (?)",(message.simuid,)) 
     139 
     140        _conn.commit() 
    109141 
    110142def retrieve_last_message(simulation): 
Note: See TracChangeset for help on using the changeset viewer.