def get_signal_object(signal, value, value_type): if value_type == "Integer": return IntegerSignal(signal, float(value), value_type) if value_type == "String": return StringSignal(signal, value, value_type) if value_type == "Datetime": return DateSignal(signal, get_date_from_string(value), value_type)
def is_greater_than_value(self, value): date = get_date_from_string(value) if self.get_value() > date: return True else: return False
def is_not_equals_value(self, value): date = get_date_from_string(value) if not self.get_value() == date: return True else: return False
def is_less_than_value(self, value): date = get_date_from_string(value) if self.get_value() < date: return True else: return False
return True else: return False def is_less_than_value(self, value): date = get_date_from_string(value) if self.get_value() < date: return True else: return False def is_equals_to_value(self, value): date = get_date_from_string(value) if self.get_value() == date: return True else: return False def is_not_equals_value(self, value): date = get_date_from_string(value) if not self.get_value() == date: return True else: return False if __name__ == "__main__": s = DateSignal("ALT1", get_date_from_string("2017-06-13 22:40:10"), "Datetime")
] if True in truth_table: return signal_object.is_less_than_value truth_table = [ x in rule_string.split(' ') for x in ['equal', 'equals', 'never'] ] if True in truth_table: return signal_object.is_equals_to_value truth_table = [ x in rule_string.split(' ') for x in ['not equal', 'not equals'] ] if True in truth_table: return signal_object.is_not_equals_value if __name__ == "__main__": print(parse_rule_string('ATL3 should not be in future')) sig_obj = DateSignal("ATL1", get_date_from_string("2017-06-13 22:40:10"), "Datetime") # import pdb; pdb.set_trace() func = get_rule_func("ATL3 should not be in future", sig_obj) print(func) if func: print(func("2017-06-12 22:40:10")) else: print('chal bhag')
def setUp(self): self.date_signal_object = DateSignal("ALT1", get_date_from_string("2017-06-13 " \ "22:40:10"), "Datetime")