# -*- encoding: utf-8 -*- """ sqlite3 database module for MURSAT1 Mission Dashboard """ import sqlite3 class Db: def __init__ (self): self.conn = sqlite3.connect ('/usr/local/mmd/db/mmd.db') self.conn.text_factory = str self.conn.row_factory = sqlite3.Row self.cursor = self.conn.cursor () self.cursor.execute ('PRAGMA foreign_keys = ON') self.conn.commit () def sessionFind (self, session_id): self.cursor.execute ('SELECT * FROM session WHERE id=?', (session_id,)) return self.cursor.fetchone () def sessionInit (self, session_id, email, expires, renewal, status): try: self.cursor.execute ('INSERT INTO session (id, email, expires, renewal, status) VALUES (?,?,?,?,?)', (session_id, email, expires, renewal, status,)) self.conn.commit () return True except sqlite3.IntegrityError: return False def sessionDelete (self, session_id): self.cursor.execute ('DELETE FROM session WHERE id=?', (session_id,)) self.conn.commit () def sessionUpdate (self, session_id, expires): self.cursor.execute ('UPDATE session SET expires=? WHERE id=?', (expires, session_id,)) self.conn.commit () def sessionRenew (self, session_id, expires, renewal, token): self.cursor.execute ('UPDATE session SET expires=?,renewal=?,id=? WHERE id=?', (expires, renewal, token, session_id,)) self.conn.commit () def sessionSetEmail (self, session_id, email): self.cursor.execute ('UPDATE session SET email=? WHERE id=?', (email, session_id)) self.conn.commit () def sessionSetStatus (self, session_id, status): self.cursor.execute ('UPDATE session SET status=? WHERE id=?', (status, session_id)) self.conn.commit () def sessionDeleteExpired (self, expires): self.cursor.execute ('DELETE FROM session WHERE expires= timestamp ''' self.cursor.execute ('SELECT * FROM ssps WHERE timestamp >=? ORDER BY timestamp ASC LIMIT ?', (timestamp, count,)) return self.cursor.fetchall () def satelliteLoadCurrentSSP (self, timestamp): self.cursor.execute ('SELECT * FROM ssps WHERE timestamp >=? LIMIT 1', (timestamp,)) return self.cursor.fetchone () def satelliteDeleteObsoleteSSPs (self, timestamp): self.cursor.execute ('DELETE FROM ssps WHERE timestamp >=?', (timestamp,)) self.conn.commit () def close (self): self.cursor.close () self.conn.close () if __name__ == "__main__": pass # vim: tw=0 ts=2 expandtab # EOF