moksha/connector/utils.py | 47 +---------------------------------------------
moksha/lib/helpers.py | 46 +++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 48 insertions(+), 45 deletions(-)
New commits:
commit 006cbb647c7df43f373b257edba653648f76fb06
Author: Luke Macken <lmacken(a)redhat.com>
Date: Tue Jul 13 20:30:31 2010 -0400
Move our odict implementation out of moksha.connectors.utils and into moksha.lib.helpers
diff --git a/moksha/connector/utils.py b/moksha/connector/utils.py
index 964cd7c..a59b3ab 100644
--- a/moksha/connector/utils.py
+++ b/moksha/connector/utils.py
@@ -23,6 +23,8 @@ import warnings
from datetime import datetime
from UserDict import DictMixin
+from moksha.lib.helpers import odict
+
class DateTimeDisplay(object):
"""DateTimeDisplay is an object which takes any number of datetime objects
and process them for display.
@@ -102,51 +104,6 @@ class DateTimeDisplay(object):
return {'time':time, 'date':date , 'when':when, 'should_hide_time':should_hide_time}
-class odict(DictMixin):
-
- def __init__(self):
- self._keys = []
- self._data = {}
-
- def index(self, i):
- k = self._keys[i]
- return self._data[k]
-
- def key_index(self, i):
- return self._keys[i]
-
- def __setitem__(self, key, value):
- if key not in self._data:
- self._keys.append(key)
-
- self._data[key] = value
-
- def __getitem__(self, key):
- return self._data[key]
-
- def __delitem__(self, key):
- del self._data[key]
- self._keys.remove(key)
-
- def __iter__(self):
- for key in self._keys:
- yield key
-
- def keys(self):
- return list(self._keys)
-
- def copy(self):
- copyDict = odict()
- copyDict._data = self._data.copy()
- copyDict._keys = self._keys[:]
- return copyDict
-
- def __repr__(self):
- result = []
- for key in self._keys:
- result.append('(%s, %s)' % (repr(key), repr(self._data[key])))
- return ''.join(['OrderedDict', '([', ', '.join(result), '])'])
-
class QueryCol(dict):
def __init__(self,
column,
diff --git a/moksha/lib/helpers.py b/moksha/lib/helpers.py
index eb3ef1e..9663401 100644
--- a/moksha/lib/helpers.py
+++ b/moksha/lib/helpers.py
@@ -1059,3 +1059,49 @@ def listify(something):
return not isinstance(something, list) and [something] or something
else:
return []
+
+
+class odict(DictMixin):
+
+ def __init__(self):
+ self._keys = []
+ self._data = {}
+
+ def index(self, i):
+ k = self._keys[i]
+ return self._data[k]
+
+ def key_index(self, i):
+ return self._keys[i]
+
+ def __setitem__(self, key, value):
+ if key not in self._data:
+ self._keys.append(key)
+
+ self._data[key] = value
+
+ def __getitem__(self, key):
+ return self._data[key]
+
+ def __delitem__(self, key):
+ del self._data[key]
+ self._keys.remove(key)
+
+ def __iter__(self):
+ for key in self._keys:
+ yield key
+
+ def keys(self):
+ return list(self._keys)
+
+ def copy(self):
+ copyDict = odict()
+ copyDict._data = self._data.copy()
+ copyDict._keys = self._keys[:]
+ return copyDict
+
+ def __repr__(self):
+ result = []
+ for key in self._keys:
+ result.append('(%s, %s)' % (repr(key), repr(self._data[key])))
+ return ''.join(['OrderedDict', '([', ', '.join(result), '])'])