[kernel] r18613 - in dists/squeeze-backports/linux-2.6/debian: . lib/python/debian_linux
Ben Hutchings
benh at alioth.debian.org
Tue Jan 24 05:03:15 UTC 2012
Author: benh
Date: Tue Jan 24 05:03:13 2012
New Revision: 18613
Log:
Monkey-patch Python collections module to add OrderedDict if necessary
Modified:
dists/squeeze-backports/linux-2.6/debian/changelog
dists/squeeze-backports/linux-2.6/debian/lib/python/debian_linux/__init__.py
Modified: dists/squeeze-backports/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/changelog Tue Jan 24 04:43:32 2012 (r18612)
+++ dists/squeeze-backports/linux-2.6/debian/changelog Tue Jan 24 05:03:13 2012 (r18613)
@@ -4,6 +4,7 @@
- Use gcc-4.4 for all architectures
- Disable building of udebs
- Change ABI number to 0.bpo.1
+ - Monkey-patch Python collections module to add OrderedDict if necessary
-- Ben Hutchings <ben at decadent.org.uk> Tue, 24 Jan 2012 03:22:36 +0000
Modified: dists/squeeze-backports/linux-2.6/debian/lib/python/debian_linux/__init__.py
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/lib/python/debian_linux/__init__.py Tue Jan 24 04:43:32 2012 (r18612)
+++ dists/squeeze-backports/linux-2.6/debian/lib/python/debian_linux/__init__.py Tue Jan 24 05:03:13 2012 (r18613)
@@ -1 +1,43 @@
# Module
+
+# Python 2.6 compat
+def _compat():
+ import collections
+
+ if hasattr(collections, 'OrderedDict'):
+ return
+
+ class OrderedDict(dict):
+ __slots__ = '_list',
+
+ def __init__(self, entries=None):
+ super(OrderedDict, self).__init__()
+ self._list = []
+ if entries is not None:
+ for key, value in entries:
+ self[key] = value
+
+ def __delitem__(self, key):
+ super(OrderedDict, self).__delitem__(key)
+ self._list.remove(key)
+
+ def __setitem__(self, key, value):
+ super(OrderedDict, self).__setitem__(key, value)
+ if key not in self._list:
+ self._list.append(key)
+
+ def iterkeys(self):
+ for i in iter(self._list):
+ yield i
+
+ def iteritems(self):
+ for i in iter(self._list):
+ yield (i, self[i])
+
+ def itervalues(self):
+ for i in iter(self._list):
+ yield self[i]
+
+ collections.OrderedDict = OrderedDict
+
+_compat()
More information about the Kernel-svn-changes
mailing list