8
8
from .exceptions import (SuppressedError ,
9
9
TooManyValues ,
10
10
DoNotOverwrite )
11
+ from .messages import (not_enough_values ,
12
+ overwrite_message )
13
+
14
+
15
+ # Todo: Add remove_column and remove row
11
16
12
17
13
18
class Table :
14
19
"""docstring for Table.
15
20
This is the main class. It adds rows and columns, with data
16
21
"""
17
22
18
- def __init__ (self , name , debug = True ):
19
- super (Table , self ).__init__ ()
20
- self .todebug = debug
21
- self .rows = 0
22
- self .columns = 1
23
+ def __init__ (self , name , debug = True ): # creates self variables
24
+ """
25
+
26
+ :param name: string
27
+ :param debug: boolean
28
+ """
29
+ super (Table , self ).__init__ () # idk
30
+ self .todebug = debug # debug?
31
+ self .rows = 0 # rows
32
+ self .columns = 1 # columns
23
33
self .table = '''|{}|''' .format (str (name ))
24
34
self .finalized = False
25
35
if self .todebug :
@@ -28,11 +38,13 @@ def __init__(self, name, debug=True):
28
38
29
39
def debug (self , print_d = True ):
30
40
"""
31
- :rtype: str
41
+
42
+ :param print_d: bool
43
+ :return: string
32
44
"""
33
- global dmessage
45
+ global debugmessage
34
46
try :
35
- dmessage = '''Printing debug information:
47
+ debugmessage = '''Printing debug information:
36
48
Rows: {rows}
37
49
Columns: {cols}
38
50
Finalized?: {fin}
@@ -43,15 +55,21 @@ def debug(self, print_d=True):
43
55
table = self .table ,
44
56
funcs = self .functions )
45
57
if print_d :
46
- print (dmessage )
58
+ print (debugmessage )
47
59
else :
48
- return dmessage
60
+ return debugmessage
49
61
except NameError :
50
62
pass
51
63
except Exception as e :
52
- raise SuppressedError (type (e ).__name__ , str (e ), dmessage )
64
+ raise SuppressedError (type (e ).__name__ , str (e ), debugmessage )
53
65
54
66
def add_column (self , name , all_cols = False ):
67
+ """
68
+
69
+ :param name: string
70
+ :param all_cols: string
71
+ :return: None
72
+ """
55
73
self .columns += 1
56
74
self .table += '{}|' .format (str (name ))
57
75
try :
@@ -65,6 +83,11 @@ def add_column(self, name, all_cols=False):
65
83
raise SuppressedError (type (e ).__name__ , str (e ), self .debug (print_d = False ))
66
84
67
85
def all_columns (self , * args ):
86
+ """
87
+
88
+ :param args: string
89
+ :return: None
90
+ """
68
91
try :
69
92
all_col_data = {'function' : 'all_columns' , 'data' : []}
70
93
for value in args :
@@ -74,6 +97,10 @@ def all_columns(self, *args):
74
97
raise SuppressedError (type (e ).__name__ , str (e ), self .debug (print_d = False ))
75
98
76
99
def finalize_cols (self ):
100
+ """
101
+
102
+ :return: None
103
+ """
77
104
try :
78
105
finalizer = '\n |'
79
106
for i in range (self .columns ):
@@ -84,6 +111,12 @@ def finalize_cols(self):
84
111
raise SuppressedError (type (e ).__name__ , str (e ), self .debug (print_d = False ))
85
112
86
113
def add_row (self , show_warning_message = True , * args ):
114
+ """
115
+
116
+ :param show_warning_message: bool
117
+ :param args: string
118
+ :return: None
119
+ """
87
120
try :
88
121
if self .finalized_run :
89
122
self .finalized_run = False
@@ -104,16 +137,12 @@ def add_row(self, show_warning_message=True, *args):
104
137
add_row_data ['data' ]['values' ].append (args [i ])
105
138
if self .columns > rows_made :
106
139
if show_warning_message :
107
- print (
108
- "You did not enter in enough values. You entered in {} values out of {} values. The values "
109
- "that you did not enter in will be filled in with a blank space. You can stop this message "
110
- "from appearing by adding the argument show_warning_message = False" .format (
111
- str (rows_made ), str (self .columns )))
140
+ print (not_enough_values (rows_made , self .columns ))
112
141
add_row_data ['data' ]['message_shown' ] = True
113
142
for i in range (int (self .columns - rows_made )):
114
143
row += ' |'
115
- add_row_data [ 'data' ][ 'values' ]. append ( '{} blank values added' . format ( str ( int ( self . columns ) - int (
116
- rows_made ) )))
144
+ # noinspection PyTypeChecker
145
+ add_row_data [ 'data' ][ 'values' ]. append ( '{} blank values added' . format ( str ( self . columns - rows_made )))
117
146
elif self .columns < rows_made :
118
147
raise TooManyValues (self .columns )
119
148
self .table += '\n {}' .format (row )
@@ -124,7 +153,15 @@ def add_row(self, show_warning_message=True, *args):
124
153
raise SuppressedError (type (e ).__name__ , str (e ), self .debug (print_d = False ))
125
154
126
155
def export_table_to_file (self , filename = 'markdowntable' , extension = 'txt' , mode = 'w+' , overwrite_warning = True ):
127
- global mode_check , message_displayed , fileread
156
+ """
157
+
158
+ :param filename: string
159
+ :param extension: string
160
+ :param mode: string
161
+ :param overwrite_warning: bool
162
+ :return: None
163
+ """
164
+ global mode_check , message_displayed , file_read
128
165
try :
129
166
with open ('{fname}.{ext}' .format (fname = str (filename ), ext = str (extension )), str (mode )) as file :
130
167
try :
@@ -133,16 +170,14 @@ def export_table_to_file(self, filename='markdowntable', extension='txt', mode='
133
170
if mode == 'w' or mode == 'w+' :
134
171
mode_check = True
135
172
if len (contents ) > 0 and overwrite_warning and mode_check :
136
- print (
137
- 'This file already contains content. Do you want to overwrite the contents of the file? '
138
- 'You can add the argument mode = a[+] to not overwrite.' )
173
+ print ()
139
174
true = True
140
175
false = False
141
176
overwrite = input ('Write True or False:' )
142
177
if overwrite :
143
178
raise DoNotOverwrite
144
179
message_displayed = True
145
- fileread = True
180
+ file_read = True
146
181
except io .UnsupportedOperation :
147
182
pass
148
183
except DoNotOverwrite :
@@ -151,6 +186,6 @@ def export_table_to_file(self, filename='markdowntable', extension='txt', mode='
151
186
file .write (self .table )
152
187
self .functions .append ({'function' : 'export_table_to_file' ,
153
188
'data' : {'filename' : filename , 'extension' : extension , 'writemode' : mode ,
154
- 'overwrite_warning' : overwrite_warning , 'file read' : fileread }})
189
+ 'overwrite_warning' : overwrite_warning , 'file read' : file_read }})
155
190
except Exception as e :
156
191
raise SuppressedError (type (e ).__name__ , str (e ), self .debug (print_d = False ))
0 commit comments