Source code for ccrauth.authdb

import sqlite3
import logging
import os
from ccrauth.ccrauth import CCRAuth

CCR_DB = 'ccr.db'


[docs]class AuthDB(CCRAuth): """A class to manage authentication information in a database (ccr.db)""" def __init__(self): """ define username and password if the table auth exists username and password set to None if the table auth doesn't exists """ super().__init__() self.conn = sqlite3.connect(CCR_DB) self.cur = self.conn.cursor() self.cur.execute("SELECT * FROM sqlite_master WHERE type='table' AND name='auth';") if self.cur.fetchone() is not None: self.cur.execute("SELECT username, password FROM auth;") data = self.cur.fetchone() self._set_info(data[0], data[1]) else: logging.debug("Table auth doesn't exists in the database.") self.conn.close()
[docs] def store_auth_info(self, username, password): """ store/update authentication information in the database """ self.conn = sqlite3.connect(CCR_DB) self.cur = self.conn.cursor() self.cur.execute("CREATE TABLE IF NOT EXISTS auth (id INTEGER PRIMARY KEY, username TEXT, password TEXT)") self.cur.execute("INSERT OR REPLACE INTO auth (id, username, password) VALUES (0,?,?)", (username, password)) self.conn.commit() self.conn.close() self._set_info(username, password)
def delete_auth_info(self): self.conn = sqlite3.connect(CCR_DB) self.cur = self.conn.cursor() self.cur.execute("DROP TABLE IF EXISTS auth") self.conn.commit() self.conn.close()