aboutsummaryrefslogtreecommitdiff
path: root/examples/python/dict_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/python/dict_utils.py')
-rwxr-xr-xexamples/python/dict_utils.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/examples/python/dict_utils.py b/examples/python/dict_utils.py
index 7dc5e7a8b56e..7cdd0ac6f3c2 100755
--- a/examples/python/dict_utils.py
+++ b/examples/python/dict_utils.py
@@ -1,27 +1,28 @@
-
+
class LookupDictionary(dict):
"""
a dictionary which can lookup value by key, or keys by value
"""
+
def __init__(self, items=[]):
"""items can be a list of pair_lists or a dictionary"""
dict.__init__(self, items)
-
- def get_keys_for_value(self, value, fail_value = None):
+
+ def get_keys_for_value(self, value, fail_value=None):
"""find the key(s) as a list given a value"""
list_result = [item[0] for item in self.items() if item[1] == value]
if len(list_result) > 0:
return list_result
return fail_value
-
- def get_first_key_for_value(self, value, fail_value = None):
+
+ def get_first_key_for_value(self, value, fail_value=None):
"""return the first key of this dictionary given the value"""
list_result = [item[0] for item in self.items() if item[1] == value]
if len(list_result) > 0:
return list_result[0]
return fail_value
- def get_value(self, key, fail_value = None):
+ def get_value(self, key, fail_value=None):
"""find the value given a key"""
if key in self:
return self[key]
@@ -29,12 +30,12 @@ class LookupDictionary(dict):
class Enum(LookupDictionary):
-
+
def __init__(self, initial_value=0, items=[]):
"""items can be a list of pair_lists or a dictionary"""
LookupDictionary.__init__(self, items)
self.value = initial_value
-
+
def set_value(self, v):
v_typename = typeof(v).__name__
if v_typename == 'str':
@@ -44,18 +45,18 @@ class Enum(LookupDictionary):
v = 0
else:
self.value = v
-
+
def get_enum_value(self):
return self.value
-
+
def get_enum_name(self):
return self.__str__()
def __str__(self):
- s = self.get_first_key_for_value (self.value, None)
- if s == None:
+ s = self.get_first_key_for_value(self.value, None)
+ if s is None:
s = "%#8.8x" % self.value
return s
-
+
def __repr__(self):
- return self.__str__() \ No newline at end of file
+ return self.__str__()