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@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), '])'])