from main import Segment def parse_level_from_string(string): level = [] raw_segments = string.split('|') for segment in raw_segments: raw_segment = segment.split('/') level.append( Segment( bool(raw_segment[0]), float(raw_segment[1]), complex(raw_segment[2]), tuple(map(int, raw_segment[3][1:len(raw_segment[3])-1].split(', '))) ) ) return level def save_level_to_string(level): string_level = "" for segment in level: string_level += f'{segment.isFinite}/{segment.pointA}/{segment.pointB}/{segment.color}' if segment != level[len(level) - 1]: string_level += '|' return string_level