From 8a0c8f47a0bb2920f79186d5b6c578655452d7fc Mon Sep 17 00:00:00 2001 From: Roberto Rosario Date: Tue, 29 Aug 2017 02:13:52 -0400 Subject: [PATCH] Import xmlrpc from django.six. Use compatible dict_types. Use compatible reduce since it has been removed from Python3. Signed-off-by: Roberto Rosario --- mayan/apps/common/utils.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/mayan/apps/common/utils.py b/mayan/apps/common/utils.py index 4581cd74bb..faf4b2af39 100644 --- a/mayan/apps/common/utils.py +++ b/mayan/apps/common/utils.py @@ -5,16 +5,18 @@ import os import shutil import tempfile import types -import xmlrpclib from django.conf import settings from django.urls import resolve as django_resolve from django.urls.base import get_script_prefix from django.utils.datastructures import MultiValueDict from django.utils.encoding import force_text -from django.utils.http import urlquote as django_urlquote -from django.utils.http import urlencode as django_urlencode +from django.utils.http import ( + urlencode as django_urlencode, urlquote as django_urlquote +) +from django.utils.six.moves import reduce as reduce_function, xmlrpc_client +from common.compat import dict_type, dictionary_type import mayan from .exceptions import NotLatestVersion @@ -25,7 +27,7 @@ logger = logging.getLogger(__name__) def check_version(): - pypi = xmlrpclib.ServerProxy(PYPI_URL) + pypi = xmlrpc_client.ServerProxy(PYPI_URL) versions = pypi.package_releases(MAYAN_PYPI_NAME) if versions[0] != mayan.__version__: @@ -128,11 +130,11 @@ def return_attrib(obj, attrib, arguments=None): if isinstance(attrib, types.FunctionType): return attrib(obj) elif isinstance( - obj, types.DictType - ) or isinstance(obj, types.DictionaryType): + obj, dict_type + ) or isinstance(obj, dictionary_type): return obj[attrib] else: - result = reduce(getattr, attrib.split('.'), obj) + result = reduce_function(getattr, attrib.split('.'), obj) if isinstance(result, types.MethodType): if arguments: return result(**arguments)