diff options
author | Monty Taylor <mordred@inaugust.com> | 2018-03-24 09:20:26 -0500 |
---|---|---|
committer | Monty Taylor <mordred@inaugust.com> | 2018-03-24 09:05:20 -0700 |
commit | 5be1b057adf8a639f718409b2fd8986272d05ac0 (patch) | |
tree | d5e21cae658e9be5d1db065229a74bf4b1d3f5e2 /src/infra/cp437utf8.py | |
parent | 0560476234c83a1a2ec36e0ed803de1b60008502 (diff) |
Add infra talk for ons
Diffstat (limited to 'src/infra/cp437utf8.py')
-rw-r--r-- | src/infra/cp437utf8.py | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/src/infra/cp437utf8.py b/src/infra/cp437utf8.py new file mode 100644 index 0000000..9b1b629 --- /dev/null +++ b/src/infra/cp437utf8.py | |||
@@ -0,0 +1,69 @@ | |||
1 | # _______ | ||
2 | # ____________ _______ _\__ /_________ ___ _____ | ||
3 | # | _ _ \ _ | ____\ _ / | |/ _ \ | ||
4 | # | / / / / | | | /___/ _ | | / / | ||
5 | # |___/___/ /___/____|________|___ | |_| |___|_____/ | ||
6 | # \__/ |___| | ||
7 | # | ||
8 | # | ||
9 | # (c) 2009-2012 Wijnand Modderman-Lenstra <maze@pyth0n.org> | ||
10 | # MIT License | ||
11 | # | ||
12 | |||
13 | CP437 = ( | ||
14 | u'\u0000', u'\u0001', u'\u0002', u'\u0003', u'\u0004', u'\u0005', | ||
15 | u'\u0006', u'\u0007', u'\u0008', u'\u0009', u'\u000A', u'\u000B', | ||
16 | u'\u000C', u'\u000D', u'\u000E', u'\u000F', u'\u0010', u'\u0011', | ||
17 | u'\u0012', u'\u0013', u'\u0014', u'\u0015', u'\u0016', u'\u0017', | ||
18 | u'\u0018', u'\u0019', u'\u001A', u'\u001B', u'\u001C', u'\u001D', | ||
19 | u'\u001E', u'\u001F', u'\u0020', u'\u0021', u'\u0022', u'\u0023', | ||
20 | u'\u0024', u'\u0025', u'\u0026', u'\u0027', u'\u0028', u'\u0029', | ||
21 | u'\u002A', u'\u002B', u'\u002C', u'\u002D', u'\u002E', u'\u002F', | ||
22 | u'\u0030', u'\u0031', u'\u0032', u'\u0033', u'\u0034', u'\u0035', | ||
23 | u'\u0036', u'\u0037', u'\u0038', u'\u0039', u'\u003A', u'\u003B', | ||
24 | u'\u003C', u'\u003D', u'\u003E', u'\u003F', u'\u0040', u'\u0041', | ||
25 | u'\u0042', u'\u0043', u'\u0044', u'\u0045', u'\u0046', u'\u0047', | ||
26 | u'\u0048', u'\u0049', u'\u004A', u'\u004B', u'\u004C', u'\u004D', | ||
27 | u'\u004E', u'\u004F', u'\u0050', u'\u0051', u'\u0052', u'\u0053', | ||
28 | u'\u0054', u'\u0055', u'\u0056', u'\u0057', u'\u0058', u'\u0059', | ||
29 | u'\u005A', u'\u005B', u'\u005C', u'\u005D', u'\u005E', u'\u005F', | ||
30 | u'\u0060', u'\u0061', u'\u0062', u'\u0063', u'\u0064', u'\u0065', | ||
31 | u'\u0066', u'\u0067', u'\u0068', u'\u0069', u'\u006A', u'\u006B', | ||
32 | u'\u006C', u'\u006D', u'\u006E', u'\u006F', u'\u0070', u'\u0071', | ||
33 | u'\u0072', u'\u0073', u'\u0074', u'\u0075', u'\u0076', u'\u0077', | ||
34 | u'\u0078', u'\u0079', u'\u007A', u'\u007B', u'\u007C', u'\u007D', | ||
35 | u'\u007E', u'\u007F', u'\u00C7', u'\u00FC', u'\u00E9', u'\u00E2', | ||
36 | u'\u00E4', u'\u00E0', u'\u00E5', u'\u00E7', u'\u00EA', u'\u00EB', | ||
37 | u'\u00E8', u'\u00EF', u'\u00EE', u'\u00EC', u'\u00C4', u'\u00C5', | ||
38 | u'\u00C9', u'\u00E6', u'\u00C6', u'\u00F4', u'\u00F6', u'\u00F2', | ||
39 | u'\u00FB', u'\u00F9', u'\u00FF', u'\u00D6', u'\u00DC', u'\u00A2', | ||
40 | u'\u00A3', u'\u00A5', u'\u20A7', u'\u0192', u'\u00E1', u'\u00ED', | ||
41 | u'\u00F3', u'\u00FA', u'\u00F1', u'\u00D1', u'\u00AA', u'\u00BA', | ||
42 | u'\u00BF', u'\u2310', u'\u00AC', u'\u00BD', u'\u00BC', u'\u00A1', | ||
43 | u'\u00AB', u'\u00BB', u'\u2591', u'\u2592', u'\u2593', u'\u2502', | ||
44 | u'\u2524', u'\u2561', u'\u2562', u'\u2556', u'\u2555', u'\u2563', | ||
45 | u'\u2551', u'\u2557', u'\u255D', u'\u255C', u'\u255B', u'\u2510', | ||
46 | u'\u2514', u'\u2534', u'\u252C', u'\u251C', u'\u2500', u'\u253C', | ||
47 | u'\u255E', u'\u255F', u'\u255A', u'\u2554', u'\u2569', u'\u2566', | ||
48 | u'\u2560', u'\u2550', u'\u256C', u'\u2567', u'\u2568', u'\u2564', | ||
49 | u'\u2565', u'\u2559', u'\u2558', u'\u2552', u'\u2553', u'\u256B', | ||
50 | u'\u256A', u'\u2518', u'\u250C', u'\u2588', u'\u2584', u'\u258C', | ||
51 | u'\u2590', u'\u2580', u'\u03B1', u'\u00DF', u'\u0393', u'\u03C0', | ||
52 | u'\u03A3', u'\u03C3', u'\u00B5', u'\u03C4', u'\u03A6', u'\u0398', | ||
53 | u'\u03A9', u'\u03B4', u'\u221E', u'\u03C6', u'\u03B5', u'\u2229', | ||
54 | u'\u2261', u'\u00B1', u'\u2265', u'\u2264', u'\u2320', u'\u2321', | ||
55 | u'\u00F7', u'\u2248', u'\u00B0', u'\u2219', u'\u00B7', u'\u221A', | ||
56 | u'\u207F', u'\u00B2', u'\u25A0', u'\u00A0', | ||
57 | ) | ||
58 | |||
59 | def convert(text): | ||
60 | return u''.join([CP437[ord(char)] for char in text]) | ||
61 | |||
62 | if __name__ == '__main__': | ||
63 | import sys | ||
64 | if len(sys.argv) < 2: | ||
65 | print >>sys.stderr, '%s <in> <out>' % (sys.argv[0],) | ||
66 | sys.exit(1) | ||
67 | d = file(sys.argv[1]).read() | ||
68 | out = open(sys.argv[2], 'w') | ||
69 | out.write(convert(d).encode('utf8')) | ||