drogon/core/mysql_wrapper.py

62 lines
No EOL
2.1 KiB
Python

# -*- coding: utf-8 -*-
import mysql.connector
anuncios_db_parameters = {'host': '185.166.215.170',
'database': 'anuncios',
'user': 'drogon',
'password': 'noesfacilvivirsindrogon'}
tasks_db_parameters = {'host': '185.166.215.170',
'database': 'tasks',
'user': 'drogon',
'password': 'noesfacilvivirsindrogon'}
class DatabaseWrapper():
def __init__(self, connection_parameters):
self.host = connection_parameters['host']
self.database = connection_parameters['database']
self.user = connection_parameters['user']
self.password = connection_parameters['password']
self.connection = None
self.ping()
def connect(self):
self.connection = mysql.connector.connect(host = self.host,
database = self.database,
user = self.user,
password = self.password,
autocommit = True)
def disconnect(self):
if self.connection.is_connected():
self.connection.disconnect()
def ping(self):
self.connect()
self.disconnect()
def query(self, query_statement, query_parameters = None, dictionary = False):
self.connect()
if self.connection.is_connected():
execution_cursor = self.connection.cursor(dictionary = dictionary)
execution_cursor.execute(query_statement, query_parameters)
self.disconnect()
return execution_cursor
else:
raise Exception("Could not connect to the database.")
def query_dict(self, query_statement, query_parameters = None):
return self.query(query_statement, query_parameters, dictionary = True)
def get_anunciosdb():
return DatabaseWrapper(anuncios_db_parameters)
def get_tasksdb():
return DatabaseWrapper(tasks_db_parameters)