Index: third_party/Python-Markdown/markdown/odict.py |
diff --git a/third_party/markdown/odict.py b/third_party/Python-Markdown/markdown/odict.py |
similarity index 73% |
copy from third_party/markdown/odict.py |
copy to third_party/Python-Markdown/markdown/odict.py |
index 1bfca51d3cb136960d65f037240e94b83e381500..584ad7c173f45cba6a41dc491d9a3f0a4bd0ae04 100644 |
--- a/third_party/markdown/odict.py |
+++ b/third_party/Python-Markdown/markdown/odict.py |
@@ -1,50 +1,13 @@ |
-# markdown is released under the BSD license |
-# Copyright 2007, 2008 The Python Markdown Project (v. 1.7 and later) |
-# Copyright 2004, 2005, 2006 Yuri Takhteyev (v. 0.2-1.6b) |
-# Copyright 2004 Manfred Stienstra (the original version) |
-# |
-# All rights reserved. |
-# |
-# Redistribution and use in source and binary forms, with or without |
-# modification, are permitted provided that the following conditions are met: |
-# |
-# * Redistributions of source code must retain the above copyright |
-# notice, this list of conditions and the following disclaimer. |
-# * Redistributions in binary form must reproduce the above copyright |
-# notice, this list of conditions and the following disclaimer in the |
-# documentation and/or other materials provided with the distribution. |
-# * Neither the name of the <organization> nor the |
-# names of its contributors may be used to endorse or promote products |
-# derived from this software without specific prior written permission. |
-# |
-# THIS SOFTWARE IS PROVIDED BY THE PYTHON MARKDOWN PROJECT ''AS IS'' AND ANY |
-# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
-# DISCLAIMED. IN NO EVENT SHALL ANY CONTRIBUTORS TO THE PYTHON MARKDOWN PROJECT |
-# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
-# POSSIBILITY OF SUCH DAMAGE. |
- |
- |
from __future__ import unicode_literals |
from __future__ import absolute_import |
from . import util |
- |
from copy import deepcopy |
-def iteritems_compat(d): |
- """Return an iterator over the (key, value) pairs of a dictionary. |
- Copied from `six` module.""" |
- return iter(getattr(d, _iteritems)()) |
class OrderedDict(dict): |
""" |
A dictionary that keeps its keys in the order in which they're inserted. |
- |
+ |
Copied from Django's SortedDict with some modifications. |
""" |
@@ -119,11 +82,11 @@ class OrderedDict(dict): |
for key in self.keyOrder: |
yield self[key] |
- if util.PY3: |
+ if util.PY3: # pragma: no cover |
items = _iteritems |
keys = _iterkeys |
values = _itervalues |
- else: |
+ else: # pragma: no cover |
iteritems = _iteritems |
iterkeys = _iterkeys |
itervalues = _itervalues |
@@ -138,8 +101,8 @@ class OrderedDict(dict): |
return [self[k] for k in self.keyOrder] |
def update(self, dict_): |
- for k, v in iteritems_compat(dict_): |
- self[k] = v |
+ for k in dict_: |
+ self[k] = dict_[k] |
def setdefault(self, key, default): |
if key not in self: |
@@ -170,7 +133,9 @@ class OrderedDict(dict): |
Replaces the normal dict.__repr__ with a version that returns the keys |
in their Ordered order. |
""" |
- return '{%s}' % ', '.join(['%r: %r' % (k, v) for k, v in iteritems_compat(self)]) |
+ return '{%s}' % ', '.join( |
+ ['%r: %r' % (k, v) for k, v in self._iteritems()] |
+ ) |
def clear(self): |
super(OrderedDict, self).clear() |