def __sm_newline_default(self): """Default newline: '(\n)|(\r\n)' """ global cc_type_name_db newline_set = NumberSet(ord('\n')) retour_set = NumberSet(ord('\r')) before = self.specifier_count_op_map.find_occupier(newline_set, set()) if before is not None: error.warning("Trying to implement default newline: '\\n' or '\\r\\n'.\n" "The '\\n' option is not possible, since it has been occupied by '%s'.\n" \ "No newline can be defined by default." % cc_type_name_db[before.cc_type], before.sr, SuppressCode=NotificationDB.warning_default_newline_0A_impossible) # In this case, no newline can be defined! return sm = StateMachine.from_character_set(newline_set) if Setup.dos_carriage_return_newline_f: before = self.specifier_count_op_map.find_occupier(retour_set, set()) if before is not None: error.warning("Trying to implement default newline: '\\n' or '\\r\\n'.\n" "The '\\r\\n' option is not possible, since '\\r' has been occupied by '%s'." \ % cc_type_name_db[before.cc_type], before.sr, SuppressCode=NotificationDB.warning_default_newline_0D_impossible) else: sm.add_transition_sequence(sm.init_state_index, [retour_set, newline_set]) return sm
def from_character_set(CharacterSet): return Pattern(StateMachine.from_character_set(CharacterSet), PatternString="<character set>")