1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
#!/usr/bin/env python3
# Copyright (c) 2017, Intel Corporation.
# zjsbanner - prints input text in large format
import sys
banner_font = {
'0': 'ejlpe', '1': '4c44v', '2': 'u116v', '3': 'u1e1u', '4': 'hhv11',
'5': 'vgu1u', '6': 'fguhe', '7': 'v248g', '8': 'ehehe', '9': 'ehf11',
'A': '4avhh', 'B': 'uhuhu', 'C': 'fgggf', 'D': 'uhhhu', 'E': 'vgugv',
'F': 'vgugg', 'G': 'fgjhe', 'H': 'hhvhh', 'I': 'v444v', 'J': 'v22ic',
'K': 'hisih', 'L': 'ggggv', 'M': 'hrlhh', 'N': 'hpljh', 'O': 'ehhhe',
'P': 'uhugg', 'Q': 'ehhjf', 'R': 'uhuih', 'S': 'fge1u', 'T': 'v4444',
'U': 'hhhhe', 'V': 'hhha4', 'W': 'hhlrh', 'X': 'ha4ah', 'Y': 'ha444',
'Z': 'v248v', '?': 'e1c04', ' ': '00000', '-': '00e00', '.': '00004',
'_': '0000v',
}
def find_pattern(char, line):
char = char.upper()
if char not in banner_font:
char = '?'
print_character = banner_font[char][line]
if print_character.isalpha():
mask = ord(print_character) - ord('a') + 10
else:
mask = ord(print_character) - ord('0')
return "{0:5b}".format(mask).replace('1', '#').replace('0', ' ')
def banner(message):
while len(message) > 0:
print("")
line = message[:11]
message = message[11:]
for i in range(5):
out = ''
for j in range(len(line)):
out += (find_pattern(line[j], i) + ' ')
print(out)
def main():
if len(sys.argv) <= 1:
print("usage: zjsbanner <text>")
sys.exit(1)
banner(' '.join(sys.argv[1:]))
if __name__ == "__main__":
main()
|