Drop ipapython.compat.

This commit is contained in:
Jan Cholasta 2013-01-08 16:11:05 +01:00 committed by Rob Crittenden
parent 893064f613
commit c1735e1c80
6 changed files with 7 additions and 90 deletions

View File

@ -21,7 +21,7 @@ from ipapython import ipautil
from ipapython import nsslib from ipapython import nsslib
from ipalib import pkcs10 from ipalib import pkcs10
import tempfile import tempfile
from ipapython.compat import sha1 from hashlib import sha1
import shutil import shutil
import os import os

View File

@ -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

View File

@ -25,8 +25,7 @@ SSH utilities.
import base64 import base64
import re import re
import struct import struct
from hashlib import md5, sha1
from ipapython.compat import md5, sha1
__all__ = ['SSHPublicKey'] __all__ = ['SSHPublicKey']

View File

@ -28,6 +28,7 @@ import xml.dom.minidom
import pwd import pwd
import fcntl import fcntl
import base64 import base64
from hashlib import sha1
from ipapython import nsslib from ipapython import nsslib
from ipapython import dogtag from ipapython import dogtag
@ -48,8 +49,6 @@ import nss.nss as nss
from ipalib import api from ipalib import api
from ipapython.compat import sha1
# Apache needs access to this database so we need to create it # Apache needs access to this database so we need to create it
# where apache can reach # where apache can reach
NSS_DIR = "/etc/httpd/alias" NSS_DIR = "/etc/httpd/alias"

View File

@ -23,7 +23,6 @@ RPC server.
Also see the `ipalib.rpc` module. Also see the `ipalib.rpc` module.
""" """
from cgi import parse_qs
from xml.sax.saxutils import escape from xml.sax.saxutils import escape
from xmlrpclib import Fault from xmlrpclib import Fault
from wsgiref.util import shift_path_info from wsgiref.util import shift_path_info
@ -34,6 +33,7 @@ import datetime
from decimal import Decimal from decimal import Decimal
import urlparse import urlparse
import time import time
import json
from ipalib import plugable from ipalib import plugable
from ipalib.backend import Executioner 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 ipalib.util import parse_time_duration, normalize_name
from ipapython.dn import DN from ipapython.dn import DN
from ipaserver.plugins.ldap2 import ldap2 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.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.backend import Backend
from ipalib.krb_utils import krb5_parse_ccache, KRB5_CCache, krb_ticket_expiration_threshold, krb5_format_principal_name 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'] qstr = environ['QUERY_STRING']
if qstr: if qstr:
query = dict(nicify_query( query = dict(nicify_query(
parse_qs(qstr)#, keep_blank_values=True) urlparse.parse_qs(qstr)#, keep_blank_values=True)
)) ))
else: else:
query = {} query = {}

View File

@ -21,11 +21,12 @@
Test the `ipaserver.rpc` module. Test the `ipaserver.rpc` module.
""" """
import json
from tests.util import create_test_api, assert_equal, raises, PluginTester from tests.util import create_test_api, assert_equal, raises, PluginTester
from tests.data import unicode_str from tests.data import unicode_str
from ipalib import errors, Command from ipalib import errors, Command
from ipaserver import rpcserver from ipaserver import rpcserver
from ipapython.compat import json
class StartResponse(object): class StartResponse(object):