]>
git.datanom.net - securemail.git/blob - db.py
1 # -*- coding: utf-8 -*-
3 # Copyright (c) 2018 Michael Rasmussen <mir@datanom.net>
5 # This file is part of SecureMail.
7 # SecureMail is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # SecureMail is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with SecureMail. If not, see <https://www.gnu.org/licenses/>.
20 from config
import DBTYPE
, DBHOST
, DBPORT
, DBUID
, DBPWD
, DBNAME
23 def __init__(self
, klass
):
27 def __call__(self
, *args
, **kwargs
):
28 if self
.instance
== None:
29 self
.instance
= self
.klass(*args
, **kwargs
)
36 def get_connection(self
):
39 import mysql
.connector
40 self
.conn
= mysql
.connector
.connect(host
=DBHOST
, port
=DBPORT
, user
=DBUID
, password
=DBPWD
, database
=DBNAME
)
41 elif DBTYPE
== 'postgresql':
43 self
.conn
= psycopg2
.connect(host
=DBHOST
, port
=DBPORT
, user
=DBUID
, password
=DBPWD
, dbname
=DBNAME
)
47 if self
.conn
is not None:
53 conn
= DB().get_connection()
54 cursor
= conn
.cursor()
55 cursor
.execute("select a.cipher from account a where id = '{0}'".format(key
))
56 row
= cursor
.fetchone()
60 obj
= row
[0].tobytes()
66 def store_user(key
, cipher
):
67 conn
= DB().get_connection()
68 cursor
= conn
.cursor()
69 cursor
.execute("insert into account(id, cipher) values(%s, %s)", (key
, cipher
))
This page took 0.06176 seconds and 6 git commands to generate.