Skip to content

Commit c45bfba

Browse files
author
thibaut
committed
fix bug introduced in 2.0
1 parent c21b900 commit c45bfba

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

flask_replicated.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,23 @@
22

33
from flask import current_app, g, request
44

5+
56
class FlaskReplicated(object):
67
READONLY_METHODS = set(['GET', 'HEAD'])
78

89
def __init__(self, app=None):
910
if app is not None:
1011
self.init_app(app)
12+
self.AUTO_SLAVE = app.config.get('AUTO_READ_ON_SLAVE', True)
1113

1214
def init_app(self, app):
1315
assert hasattr(app, 'extensions')
1416
assert 'sqlalchemy' in app.extensions
1517
if 'replicated' not in app.extensions:
1618
app.extensions['replicated'] = self
1719
binds = app.config.get('SQLALCHEMY_BINDS') or {}
18-
auto_slave = app.config.get('AUTO_READ_ON_SLAVE', True)
1920
if 'slave' in binds:
20-
app.before_request(self._pick_database_replica, auto_slave)
21+
app.before_request(self._pick_database_replica)
2122
db = app.extensions['sqlalchemy'].db
2223
get_engine_vanilla = db.get_engine
2324

@@ -30,11 +31,11 @@ def get_replicated_engine(app=app, bind=None):
3031
return get_engine_vanilla(app, bind)
3132
db.get_engine = get_replicated_engine
3233

33-
def _pick_database_replica(self, auto_slave = True):
34+
def _pick_database_replica(self):
3435
func = current_app.view_functions.get(request.endpoint)
3536
if getattr(func, 'use_master_database', False):
3637
g.use_master = True
37-
g.use_slave = ( request.method in self.READONLY_METHODS and auto_slave ) or getattr(func, 'use_slave_database', False)
38+
g.use_slave = ( request.method in self.READONLY_METHODS and self.AUTO_SLAVE ) or getattr(func, 'use_slave_database', False)
3839

3940
def use_master_database(func):
4041
func.use_master_database = True
@@ -43,4 +44,4 @@ def use_master_database(func):
4344

4445
def use_slave_database(func):
4546
func.use_slave_database = True
46-
return func
47+
return func

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@
2828
'Programming Language :: Python :: 3.6',
2929
'Programming Language :: Python :: 3.7',
3030
],
31-
version='2.0',
31+
version='2.1',
3232
py_modules=['flask_replicated'],
3333
)

0 commit comments

Comments
 (0)