From 88f31867920d7bcc8dc624770a90431c35f32389 Mon Sep 17 00:00:00 2001 From: Antonio de la Rosa Date: Sat, 10 Feb 2018 01:10:37 +0100 Subject: [PATCH] FIx in pymysql --- paramecio/cromosoma/databases/pymysql.py | 29 ++++++++++++++---------- paramecio/cromosoma/webmodel.py | 2 +- setup.py | 3 ++- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/paramecio/cromosoma/databases/pymysql.py b/paramecio/cromosoma/databases/pymysql.py index 6bc765d..fd83579 100644 --- a/paramecio/cromosoma/databases/pymysql.py +++ b/paramecio/cromosoma/databases/pymysql.py @@ -6,14 +6,14 @@ pymysql.install_as_MySQLdb import sqlalchemy.pool as pool import traceback +mypool=None + class SqlClass: - mypool=None - def __init__(self, connection): self.max_overflow=-1 - self.pool_size=0 + self.pool_size=15 self.error_connection="" # Data of connection self.connection=connection @@ -23,6 +23,8 @@ class SqlClass: self.pool_recycle=3600 def connect(self): + + global mypool if self.conn==None: try: @@ -34,16 +36,19 @@ class SqlClass: charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) - if SqlClass.mypool==None: - SqlClass.mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size, recycle=self.pool_recycle) + if mypool==None: + + mypool=pool.QueuePool(getconn, max_overflow=self.max_overflow, pool_size=self.pool_size, recycle=self.pool_recycle, use_threadlocal=False) - self.conn=SqlClass.mypool.connect() - - while not self.conn.open: - self.conn=SqlClass.mypool.connect() + self.conn=mypool.connect() self.conn.ping(True) - + + """ + while not self.conn.open: + self.conn=SqlClass.mypool.connect() + """ + self.connected=True except: @@ -64,9 +69,9 @@ class SqlClass: self.connect() #if fetch_type=="ASSOC": - #fetch_type=pymysql.cursors.DictCursor + #fetch_type=MySQLdb.cursors.DictCursor - #with self.conn.cursor(pymysql.cursors.DictCursor) as cursor: + #with self.conn.cursor(MySQLdb.cursors.DictCursor) as cursor: cursor=self.conn.cursor(pymysql.cursors.DictCursor) try: diff --git a/paramecio/cromosoma/webmodel.py b/paramecio/cromosoma/webmodel.py index 67655a4..5206eca 100644 --- a/paramecio/cromosoma/webmodel.py +++ b/paramecio/cromosoma/webmodel.py @@ -5,7 +5,7 @@ import re import uuid from importlib import import_module, reload from collections import OrderedDict -from paramecio.cromosoma.databases.mysqldb import SqlClass +from paramecio.cromosoma.databases.pymysql import SqlClass from paramecio.cromosoma.coreforms import BaseForm, HiddenForm import copy import traceback diff --git a/setup.py b/setup.py index 9b4f5a8..352e1b2 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,8 @@ setup(name='paramecio', url='https://github.com/paramecio/parameciofm/', packages=['paramecio', 'paramecio.i18n', 'paramecio.settings'], include_package_data=True, - install_requires=['bottle', 'mako', 'mysqlclient', 'sqlalchemy', 'oslo.concurrency', 'itsdangerous', 'colorama','cherrypy', 'arrow'], + install_requires=['bottle', 'mako', 'pymysql', 'sqlalchemy', +'oslo.concurrency', 'itsdangerous', 'colorama','cherrypy', 'arrow'], entry_points={'console_scripts': [ 'paramecio = paramecio.console:start', ]},