def execute(self, query, params=None, connection=None, db=None):
# ~ print (query, params)
error = None
con = connection
if not connection:
con = self.connect()
cursor = con.cursor()
try:
if type(query) == list:
self.__execute_query_list(cursor, query)
else:
self.execute_query(cursor, query, params)
except Exception as x:
error = error_message(x)
finally:
if not connection:
con.commit()
con.close()
return error