Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ConnectionFactory:
- def get_connection(self, db_type, connection_params):
- if(db_type == 'MySQL'):
- return self.mysql_connection(connection_params)
- if(db_type == 'Big Query'):
- pass
- else:
- raise ValueError(db_type)
- def mysql_connection(self, connection_params):
- import mysql.connector as mysql
- return mysql.connect(
- host=connection_params['host'],
- user=connection_params['user'],
- password=connection_params['password']
- )
- class QueryExecutor:
- def __init__(self, connection, query):
- self.connection = connection
- self.query = query
- def set_filters(self, filters):
- self.filters = filters
- return self
- def set_sorting_order(self, sorting_order):
- self.sorting_order = sorting_order
- return self
- def execute(self):
- import mysql.connector as mysql
- if(type(self.connection == mysql.connection.MySQLConnection)):
- return self.mysql_execute()
- def mysql_execute(self):
- cursor = self.connection.cursor()
- cursor.execute(self.query)
- result = cursor.fetchall()
- description = cursor.description
- cursor.close()
- return result, [i[0] for i in description]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement