from art_export import ArtExporter class TextExporter(ArtExporter): format_name = 'Plain text' format_description = """ ASCII art in ordinary text format. Assumes single frame, single layer document. Current character set will be used; make sure it supports any extended characters you want translated. """ file_extension = 'txt' def run_export(self, out_filename, options): # utf-8 is safest encoding to use here, but non-default on Windows outfile = open(out_filename, 'w', encoding='utf-8') for y in range(self.art.height): for x in range(self.art.width): char = self.art.get_char_index_at(0, 0, x, y) found_char = False for k,v in self.art.charset.char_mapping.items(): if v == char: found_char = True outfile.write(k) break # if char not found, just write a blank space if not found_char: outfile.write(' ') outfile.write('\n') outfile.close() return True