[#8400] Upgrade Ming 0.11.1 -> 0.11.2, and its deps: pymongo,pytz,six
Ming 0.11.1 -> 0.11.2
pymongo 3.10.1 -> 3.11.4
pytz 2019.2 -> no upgrade
six 1.16.0 -> no upgrade
diff --git a/Allura/allura/command/base.py b/Allura/allura/command/base.py
index 9e8b8c5..b5e4926 100644
--- a/Allura/allura/command/base.py
+++ b/Allura/allura/command/base.py
@@ -33,6 +33,7 @@
from allura.config.environment import load_environment
from allura.lib.decorators import task
from allura.lib import helpers as h
+from allura.lib.utils import configure_ming
log = None
@@ -104,7 +105,7 @@
self.setup_globals()
from allura import model
M = model
- ming.configure(**conf)
+ configure_ming(conf)
if asbool(conf.get('activitystream.recording.enabled', False)):
activitystream.configure(**h.convert_bools(conf, prefix='activitystream.'))
tg.tmpl_context.user = M.User.anonymous()
diff --git a/Allura/allura/config/middleware.py b/Allura/allura/config/middleware.py
index 3a87b88..458cb3b 100644
--- a/Allura/allura/config/middleware.py
+++ b/Allura/allura/config/middleware.py
@@ -68,6 +68,7 @@
from allura.lib.custom_middleware import SetRequestHostFromConfig
from allura.lib.custom_middleware import MingTaskSessionSetupMiddleware
from allura.lib import helpers as h
+from allura.lib.utils import configure_ming
__all__ = ['make_app']
@@ -116,7 +117,7 @@
mimetypes.init([pkg_resources.resource_filename('allura', 'etc/mime.types')] + mimetypes.knownfiles)
# Configure MongoDB
- ming.configure(**app_conf)
+ configure_ming(app_conf)
# Configure ActivityStream
if asbool(app_conf.get('activitystream.recording.enabled', False)):
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 1ea1dd5..3f85964 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -938,7 +938,7 @@
from ming.session import Session
datastores = Session._datastores
try:
- ming.configure(**conf)
+ utils.configure_ming(conf)
yield
finally:
Session._datastores = datastores
diff --git a/Allura/allura/lib/utils.py b/Allura/allura/lib/utils.py
index 5adc4f4..f29646a 100644
--- a/Allura/allura/lib/utils.py
+++ b/Allura/allura/lib/utils.py
@@ -35,6 +35,7 @@
from itertools import groupby
import operator as op
import collections
+import ming
from six.moves.urllib.parse import urlparse
import six.moves.urllib.request
import six.moves.urllib.parse
@@ -69,6 +70,21 @@
MARKDOWN_EXTENSIONS = ['.markdown', '.mdown', '.mkdn', '.mkd', '.md']
+def clean_ming_config(config):
+ # delete replicaSet=''
+ for key in list(config.keys()):
+ if '.replicaSet' in key and not config[key]:
+ del config[key]
+ elif 'mongo_host' in key and 'replicaSet=&' in config[key]:
+ config[key] = config[key].replace('replicaSet=&', '')
+ return config
+
+
+def configure_ming(conf):
+ conf = clean_ming_config(conf)
+ ming.configure(**conf)
+
+
def permanent_redirect(url):
try:
tg.redirect(url)
diff --git a/Allura/allura/websetup/schema.py b/Allura/allura/websetup/schema.py
index f78034d..f49eb01 100644
--- a/Allura/allura/websetup/schema.py
+++ b/Allura/allura/websetup/schema.py
@@ -31,6 +31,7 @@
from tg.wsgiapp import RequestLocals
from allura.lib import helpers as h
+from allura.lib.utils import configure_ming
log = logging.getLogger(__name__)
REGISTRY = Registry()
@@ -50,7 +51,7 @@
REGISTRY.prepare()
REGISTRY.register(allura.credentials, allura.lib.security.Credentials())
- ming.configure(**conf)
+ configure_ming(conf)
if asbool(conf.get('activitystream.recording.enabled', False)):
activitystream.configure(**h.convert_bools(conf, prefix='activitystream.'))
# Nothing to do
diff --git a/requirements.txt b/requirements.txt
index 3aa4feb..1edef63 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -87,11 +87,11 @@
# jinja2
# turbogears2
# webhelpers2
-ming==0.11.1
+ming==0.11.2
# via -r requirements.in
mock==3.0.5
# via -r requirements.in
-oauth2 @ https://github.com/joestump/python-oauth2/archive/b94f69b1ad195513547924e380d9265133e995fa.zip
+https://github.com/joestump/python-oauth2/archive/b94f69b1ad195513547924e380d9265133e995fa.zip#egg=oauth2
# via -r requirements.in
oauthlib==3.0.2
# via requests-oauthlib
@@ -120,7 +120,7 @@
# via -r requirements.in
pygments==2.9.0
# via -r requirements.in
-pymongo==3.10.1
+pymongo==3.11.4
# via
# -r requirements.in
# activitystream