summaryrefslogtreecommitdiff
path: root/passlib/apache.py
diff options
context:
space:
mode:
authorEli Collins <elic@assurancetechnologies.com>2015-01-10 19:06:27 -0500
committerEli Collins <elic@assurancetechnologies.com>2015-01-10 19:06:27 -0500
commit072dabd56cbd49ade133ade295b0f0013123f0cf (patch)
treef4110f54d925b866030a8fb828147afbcfc4f6be /passlib/apache.py
parent414b5642635c7f98ee7a2783c0652bb4e464f522 (diff)
downloadpasslib-072dabd56cbd49ade133ade295b0f0013123f0cf.tar.gz
added the official OrderedDict backport, replaced existing refs
Diffstat (limited to 'passlib/apache.py')
-rw-r--r--passlib/apache.py36
1 files changed, 1 insertions, 35 deletions
diff --git a/passlib/apache.py b/passlib/apache.py
index b3917fb..1c47fd8 100644
--- a/passlib/apache.py
+++ b/passlib/apache.py
@@ -14,7 +14,7 @@ from passlib.context import CryptContext
from passlib.exc import ExpectedStringError
from passlib.hash import htdigest
from passlib.utils import render_bytes, to_bytes, deprecated_method, is_ascii_codec
-from passlib.utils.compat import join_bytes, unicode, BytesIO, iteritems, PY3
+from passlib.utils.compat import join_bytes, unicode, BytesIO, iteritems, PY3, OrderedDict
# local
__all__ = [
'HtpasswdFile',
@@ -32,40 +32,6 @@ _BCOLON = b":"
_INVALID_FIELD_CHARS = b":\n\r\t\x00"
#=============================================================================
-# backport of OrderedDict for PY2.5
-#=============================================================================
-try:
- from collections import OrderedDict
-except ImportError:
- # Python 2.5
- class OrderedDict(dict):
- """hacked OrderedDict replacement.
-
- NOTE: this doesn't provide a full OrderedDict implementation,
- just the minimum needed by the Htpasswd internals.
- """
- def __init__(self):
- self._keys = []
-
- def __iter__(self):
- return iter(self._keys)
-
- def __setitem__(self, key, value):
- if key not in self:
- self._keys.append(key)
- super(OrderedDict, self).__setitem__(key, value)
-
- def __delitem__(self, key):
- super(OrderedDict, self).__delitem__(key)
- self._keys.remove(key)
-
- def iteritems(self):
- return ((key, self[key]) for key in self)
-
- # these aren't used or implemented, so disabling them for safety.
- update = pop = popitem = clear = keys = iterkeys = None
-
-#=============================================================================
# common helpers
#=============================================================================
class _CommonFile(object):