Example #1
0
 def __eq__(self, other):
     '''compare items based on self.relevant_data_keys in data'''
     if hasattr(other, 'data'):
         data = other.data
     else:
         data = other
     try:
         return all(
             [
                 namespace.locate_ns_item(self.data, key) == namespace.locate_ns_item(data, key) \
                 for key in self.relevant_data_keys
             ]
         )
     except KeyError:
         return False
Example #2
0
 def __eq__(self, other):
     """compare items based on self.relevant_data_keys in data"""
     if hasattr(other, "data"):
         data = other.data
     else:
         data = other
     try:
         return all(
             [
                 namespace.locate_ns_item(self.data, key) == namespace.locate_ns_item(data, key)
                 for key in self.relevant_data_keys
             ]
         )
     except KeyError:
         return False
Example #3
0
 def delta(self, other):
     '''return the difference between the data'''
     if hasattr(other, 'data'):
         data = other.data
     else:
         data = other
     diffs = [
         namespace.locate_ns_item(self.data, key, building=True) for key in \
         filter( \
             lambda key: namespace.locate_ns_item(data, key) != namespace.locate_ns_item(self.data, key), \
                  [key for key in self.relevant_data_keys if namespace.in_ns(self.data, key)]
         ) \
     ]
     delta = namespace.Namespace()
     for diff in diffs:
         delta.update(diff)
     return delta
Example #4
0
 def delta(self, other):
     """return the difference between the data"""
     if hasattr(other, "data"):
         data = other.data
     else:
         data = other
     diffs = [
         namespace.locate_ns_item(self.data, key, building=True)
         for key in filter(
             lambda key: namespace.locate_ns_item(data, key) != namespace.locate_ns_item(self.data, key),
             [key for key in self.relevant_data_keys if namespace.in_ns(self.data, key)],
         )
     ]
     delta = namespace.Namespace()
     for diff in diffs:
         delta.update(diff)
     return delta
Example #5
0
 def assert_data(self, data):
     for key in self.required_data_keys:
         assert namespace.in_ns(data, key) and namespace.locate_ns_item(data, key) is not None, \
             "no %s key in data %s" % (key, data)
Example #6
0
 def assert_data(self, data):
     for key in self.required_data_keys:
         assert (
             namespace.in_ns(data, key) and namespace.locate_ns_item(data, key) is not None
         ), "no %s key in data %s" % (key, data)