summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ipapython/certdb.py2
-rw-r--r--ipapython/compat.py81
-rw-r--r--ipapython/ssh.py3
-rw-r--r--ipaserver/install/certs.py3
-rw-r--r--ipaserver/rpcserver.py5
-rw-r--r--tests/test_ipaserver/test_rpcserver.py3
6 files changed, 7 insertions, 90 deletions
diff --git a/ipapython/certdb.py b/ipapython/certdb.py
index 2c0529b98..7a06da55a 100644
--- a/ipapython/certdb.py
+++ b/ipapython/certdb.py
@@ -21,7 +21,7 @@ from ipapython import ipautil
from ipapython import nsslib
from ipalib import pkcs10
import tempfile
-from ipapython.compat import sha1
+from hashlib import sha1
import shutil
import os
diff --git a/ipapython/compat.py b/ipapython/compat.py
deleted file mode 100644
index 36d038444..000000000
--- a/ipapython/compat.py
+++ /dev/null
@@ -1,81 +0,0 @@
-# Authors:
-# Jason Gerard DeRose <jderose@redhat.com>
-#
-# Copyright (C) 2009 Red Hat
-# see file 'COPYING' for use and warranty information
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-"""
-Abstracts some compatibility issues for Python 2.4 - Python 2.6.
-
-Python 2.6
-==========
-
-The ``json`` module was added in Python 2.6, which previously was in an external
-package and called ``simplejson``. The `compat` module abstracts the difference
-so you can use the ``json`` module generically like this:
-
->>> from compat import json
->>> json.dumps({'hello': 'world'})
-'{"hello": "world"}'
-
-In Python 2.6 the ``parse_qs()`` function was moved from the ``cgi`` module to
-the ``urlparse`` module. Although ``cgi.parse_qs()`` is still available and
-only raises a ``PendingDeprecationWarning``, we still provide some
-future-proofing here so you can import ``parse_qs()`` generically like this:
-
->>> from compat import parse_qs
->>> parse_qs('hello=world&how=are+you%3F')
-{'how': ['are you?'], 'hello': ['world']}
-
-For more information, see *What's New in Python 2.6*:
-
- http://docs.python.org/whatsnew/2.6.html
-
-
-Python 2.5
-==========
-
-The ``hashlib`` module was added in Python2.5, after which use of the ``sha``
-and ``md5`` modules is deprecated. You can generically import a ``sha1`` class
-from the `compat` module like this:
-
->>> from compat import sha1
->>> sha1('hello world').hexdigest()
-'2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
-
-And generically import an ``md5`` class like this:
-
->>> from compat import md5
->>> md5('hello world').hexdigest()
-'5eb63bbbe01eeed093cb22bb8f5acdc3'
-
-For more information, see *What's New in Python 2.5*:
-
- http://python.org/doc/2.5/whatsnew/whatsnew25.html
-"""
-
-import sys
-if sys.version_info[:2] >= (2, 6):
- import json
- from urlparse import parse_qs
-else:
- import simplejson as json
- from cgi import parse_qs
-try:
- from hashlib import sha1, md5 #pylint: disable=E0611
-except ImportError:
- from sha import new as sha1
- from md5 import new as md5
diff --git a/ipapython/ssh.py b/ipapython/ssh.py
index 6686e9124..3294aa430 100644
--- a/ipapython/ssh.py
+++ b/ipapython/ssh.py
@@ -25,8 +25,7 @@ SSH utilities.
import base64
import re
import struct
-
-from ipapython.compat import md5, sha1
+from hashlib import md5, sha1
__all__ = ['SSHPublicKey']
diff --git a/ipaserver/install/certs.py b/ipaserver/install/certs.py
index 7b408586d..360639ddc 100644
--- a/ipaserver/install/certs.py
+++ b/ipaserver/install/certs.py
@@ -28,6 +28,7 @@ import xml.dom.minidom
import pwd
import fcntl
import base64
+from hashlib import sha1
from ipapython import nsslib
from ipapython import dogtag
@@ -48,8 +49,6 @@ import nss.nss as nss
from ipalib import api
-from ipapython.compat import sha1
-
# Apache needs access to this database so we need to create it
# where apache can reach
NSS_DIR = "/etc/httpd/alias"
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index 8bce48bea..581c30b4c 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -23,7 +23,6 @@ RPC server.
Also see the `ipalib.rpc` module.
"""
-from cgi import parse_qs
from xml.sax.saxutils import escape
from xmlrpclib import Fault
from wsgiref.util import shift_path_info
@@ -34,6 +33,7 @@ import datetime
from decimal import Decimal
import urlparse
import time
+import json
from ipalib import plugable
from ipalib.backend import Executioner
@@ -43,7 +43,6 @@ from ipalib.rpc import xml_dumps, xml_loads
from ipalib.util import parse_time_duration, normalize_name
from ipapython.dn import DN
from ipaserver.plugins.ldap2 import ldap2
-from ipapython.compat import json
from ipalib.session import session_mgr, AuthManager, get_ipa_ccache_name, load_ccache_data, bind_ipa_ccache, release_ipa_ccache, fmt_time, default_max_session_duration
from ipalib.backend import Backend
from ipalib.krb_utils import krb5_parse_ccache, KRB5_CCache, krb_ticket_expiration_threshold, krb5_format_principal_name
@@ -211,7 +210,7 @@ def extract_query(environ):
qstr = environ['QUERY_STRING']
if qstr:
query = dict(nicify_query(
- parse_qs(qstr)#, keep_blank_values=True)
+ urlparse.parse_qs(qstr)#, keep_blank_values=True)
))
else:
query = {}
diff --git a/tests/test_ipaserver/test_rpcserver.py b/tests/test_ipaserver/test_rpcserver.py
index f423f975b..a75a85e09 100644
--- a/tests/test_ipaserver/test_rpcserver.py
+++ b/tests/test_ipaserver/test_rpcserver.py
@@ -21,11 +21,12 @@
Test the `ipaserver.rpc` module.
"""
+import json
+
from tests.util import create_test_api, assert_equal, raises, PluginTester
from tests.data import unicode_str
from ipalib import errors, Command
from ipaserver import rpcserver
-from ipapython.compat import json
class StartResponse(object):