def checkout(self):
invalid = []
for i, (param, value) in enumerate(zip(Params, self._data)):
if param.range == 'reserved': continue
if isinstance(param.values, AdvParam):
# if value & param.values.forbidden:
# print 'FORBIDDEN! {}{:03} "{}" {}: {:07b} {:07b}'.format(uppercase[self.bank], self.prog, self.name, param.attr, param.values.forbidden, value)
res = param.values.is_valid(value)
if res is not True:
invalid.append((i, res))
continue
p_min, p_max = param.range[:-1]
if not p_min <= value <= p_max:
invalid.append(i)
return invalid if invalid else None
评论列表
文章目录