def _ranging_attributes(attributes, param_class):
 next_attributes = {param_class.next_in_enumeration(attribute) for attribute in attributes}
 in_first = attributes.difference(next_attributes)
 in_second = next_attributes.difference(attributes)
 if ((len(in_first) == 1) and (len(in_second) == 1)):
  for x in attributes:
   if ({param_class.next_in_enumeration(x)} == in_second):
    return (next(iter(in_first)), x)
 return (None, None)

def _ranging_attributes ( attributes , param_class ) : next_attributes = { param_class . next_in_enumeration ( attribute ) for attribute in attributes } in_first = attributes . difference ( next_attributes ) in_second = next_attributes . difference ( attributes ) if ( ( len ( in_first ) == 1 ) and ( len ( in_second ) == 1 ) ) : for x in attributes : if ( { param_class . next_in_enumeration ( x ) } == in_second ) : return ( next ( iter ( in_first ) ) , x ) return ( None , None )
checks if there is a continuous range .