@@ -21,29 +21,38 @@ def __init__(
2121 ╟─────╫───────────────────────╢
2222 ║ SUM ║ 130 140 135 130 ║
2323 ╚═════╩═══════════════════════╝
24+
25+ 0111112111113111113111113111114
26+ 5 6 7 7 7 5
27+ 899999a99999b99999b99999b99999c
28+ 5 6 7 7 7 5
29+ 5 6 7 7 7 5
30+ deeeeefeeeeegeeeeegeeeeegeeeeeh
31+ 5 6 7 7 7 5
32+ i11111j11111k11111k11111k11111l
2433 """
2534 self .parts = {
26- "top_left_corner" : "╔" ,
27- "top_right_corner " : "╗" ,
28- "top_edge " : "═" ,
29- "first_col_top_tee " : "╦" ,
30- "top_tee " : "═" ,
31- "left_edge " : "║" ,
32- "header_row_sep " : "─" ,
33- "footer_row_sep " : "─" ,
34- "first_col_sep " : "║" ,
35- "left_tee " : "╟" ,
36- "middle_edge " : " " ,
37- "header_row_cross" : "─" ,
38- "footer_row_cross " : "─" ,
39- "first_col_cross " : "╫" ,
40- "right_edge " : "║" ,
41- "right_tee " : "╢" ,
42- "bottom_left_corner " : "╚" ,
43- "bottom_right_corner " : "╝" ,
44- "bottom_edge " : "═" ,
45- "first_col_bottom_tee " : "╩" ,
46- "bottom_tee " : "═" ,
35+ "top_left_corner" : "╔" , # 0
36+ "top_bottom_edge " : "═" , # 1
37+ "first_col_top_tee " : "╦" , # 2
38+ "top_tee " : "═" , # 3
39+ "top_right_corner " : "╗" , # 4
40+ "left_right_edge " : "║" , # 5
41+ "first_col_sep " : "║" , # 6
42+ "middle_edge " : " " , # 7
43+ "header_left_tee " : "╟" , # 8
44+ "header_row_sep " : "─" , # 9
45+ "first_col_header_cross " : "╫" , # a
46+ "header_row_cross" : "─" , # b
47+ "right_tee " : "╢" , # c
48+ "footer_left_tee " : "╟" , # d
49+ "footer_row_sep " : "─" , # e
50+ "first_col_footer_cross " : "╫" , # f
51+ "footer_row_cross " : "─" , # g
52+ "bottom_left_corner " : "╚" , # i
53+ "first_col_bottom_tee " : "╩" , # j
54+ "bottom_tee " : "═" , # k
55+ "bottom_right_corner " : "╝" , # l
4756 }
4857
4958 def to_ascii (self ) -> str :
@@ -53,30 +62,30 @@ def to_ascii(self) -> str:
5362 # ╔
5463 self .parts ["top_left_corner" ]
5564 # ═════╦
56- + self .parts ["top_edge " ] * self .cell_width + self .parts ["first_col_top_tee" ]
65+ + self .parts ["top_bottom_edge " ] * self .cell_width + self .parts ["first_col_top_tee" ]
5766 #
5867 + (
59- (self .parts ["top_edge " ] * self .cell_width + self .parts ["top_tee" ])
68+ (self .parts ["top_bottom_edge " ] * self .cell_width + self .parts ["top_tee" ])
6069 * (cols - 1 )
6170 )[0 :- 1 ]
6271 # ╗
6372 + self .parts ["top_right_corner" ],
6473 # ║
65- self .parts ["left_edge " ]
74+ self .parts ["left_right_edge " ]
6675 # # ║
6776 + f" { self .header_row [0 ]} " + self .parts ["first_col_sep" ]
6877 # G H R S
6978 + self .parts ["middle_edge" ].join (
7079 " " + val + " " for val in self .header_row [1 :]
7180 )
7281 # ║
73- + self .parts ["right_edge " ],
82+ + self .parts ["left_right_edge " ],
7483 # ╟
75- self .parts ["left_tee " ]
84+ self .parts ["header_left_tee " ]
7685 # ─────╫
7786 + (
7887 self .parts ["header_row_sep" ] * self .cell_width
79- + self .parts ["first_col_cross " ]
88+ + self .parts ["first_col_header_cross " ]
8089 )
8190 # ───────────────────────
8291 + (
@@ -94,7 +103,7 @@ def to_ascii(self) -> str:
94103 # add table row
95104 table += [
96105 # ║
97- self .parts ["left_edge " ]
106+ self .parts ["left_right_edge " ]
98107 +
99108 # 1 ║
100109 f" { p [0 ]} "
@@ -104,16 +113,16 @@ def to_ascii(self) -> str:
104113 f"{ p [i ].rjust (4 )} " for i in range (1 , cols )
105114 )
106115 # ║
107- + self .parts ["right_edge " ]
116+ + self .parts ["left_right_edge " ]
108117 ]
109118 # footer row
110119 table += [
111120 # ╟
112- self .parts ["left_tee " ]
121+ self .parts ["footer_left_tee " ]
113122 # ─────╫
114123 + (
115124 self .parts ["footer_row_sep" ] * self .cell_width
116- + self .parts ["first_col_cross " ]
125+ + self .parts ["first_col_footer_cross " ]
117126 )
118127 # ───────────────────────
119128 + (
@@ -126,23 +135,23 @@ def to_ascii(self) -> str:
126135 # ╢
127136 + self .parts ["right_tee" ],
128137 # ║
129- self .parts ["left_edge " ]
138+ self .parts ["left_right_edge " ]
130139 # SUM ║
131140 + f"{ self .footer_row [0 ].rjust (4 )} " + self .parts ["first_col_sep" ]
132141 # 120 ║ 120 ║ 120 ║ 120 ║
133142 + self .parts ["middle_edge" ].join (
134143 f"{ self .footer_row [i ].rjust (4 )} " for i in range (1 , cols )
135144 )
136145 # ║
137- + self .parts ["right_edge " ],
146+ + self .parts ["left_right_edge " ],
138147 # ╚
139148 self .parts ["bottom_left_corner" ]
140149 # ═════╩
141- + self .parts ["bottom_edge " ] * self .cell_width
150+ + self .parts ["top_bottom_edge " ] * self .cell_width
142151 + self .parts ["first_col_bottom_tee" ]
143152 # ════════════════════════
144153 + (
145- (self .parts ["bottom_edge " ] * self .cell_width + self .parts ["bottom_tee" ])
154+ (self .parts ["top_bottom_edge " ] * self .cell_width + self .parts ["bottom_tee" ])
146155 * (cols - 1 )
147156 )[0 :- 1 ]
148157 # ╗
0 commit comments