@@ -87,6 +87,15 @@ class Console:
8787 visited = {}
8888 number_of_requests = 0
8989 number_of_threads = 0
90+ show_progress = True
91+ show_colors = True
92+
93+ @staticmethod
94+ def set_show_progress (show_progress ):
95+ Console .show_progress = show_progress
96+
97+ def set_show_colors (show_colors ):
98+ Console .show_colors = show_colors
9099
91100 @staticmethod
92101 def start_eta_queue (size ):
@@ -117,22 +126,26 @@ def body(task):
117126 elif os .name == 'nt' :
118127 return
119128
129+ to_format = "{1: ^3} | {2: >10} | {3: >6} | {4: >4} | {7} [{0: >2}%] - {5: ^9} - {6}"
130+ to_format_without_progress = "{0: ^3} | {1: >10} | {2: >6} | {3: >4} | {5:^} {4}"
131+
120132 color = ""
121- if task .response_code == "200" :
122- color = GREEN
123- if task .response_code == "401" or task .response_code == "403" :
124- color = RED
125- if task .response_code == "404" and (not task .response_code in task .banned_response_codes ):
126- color = GRAY
127- if task .response_code == "301" or task .response_code == "302" :
128- color = LBLUE
129- if task .response_code .startswith ('5' ) or task .response_code == '400' :
130- color = YELLOW
131- if task .content_detected :
132- color = MAGENTA
133-
134- to_format = color + "{1: ^3} | {2: >10} | {3: >6} | {4: >4} | {7} [{0: >2}%] - {5: ^9} - {6}" + ENDC
135- to_format_without_progress = color + "{0: ^3} | {1: >10} | {2: >6} | {3: >4} | {5:^} {4}" + ENDC
133+ if Console .show_colors :
134+ if task .response_code == "200" :
135+ color = GREEN
136+ if task .response_code == "401" or task .response_code == "403" :
137+ color = RED
138+ if task .response_code == "404" and (not task .response_code in task .banned_response_codes ):
139+ color = GRAY
140+ if task .response_code == "301" or task .response_code == "302" :
141+ color = LBLUE
142+ if task .response_code .startswith ('5' ) or task .response_code == '400' :
143+ color = YELLOW
144+ if task .content_detected :
145+ color = MAGENTA
146+
147+ to_format = color + to_format + ENDC
148+ to_format_without_progress = color + to_format_without_progress + ENDC
136149
137150 # User wants to see full path
138151 if Console .show_full_path :
@@ -171,7 +184,7 @@ def body(task):
171184 t_encode = t_encode [:abs (COLUMNS - Console .MIN_COLUMN_SIZE )]
172185
173186 # if an entry is about to be log, remove percentage and eta time
174- if color and not task .response_code in task .banned_response_codes :
187+ if color is not None and not task .response_code in task .banned_response_codes :
175188 to_console = to_format_without_progress .format (task .response_code ,
176189 task .response_size ,
177190 task .number ,
@@ -180,16 +193,17 @@ def body(task):
180193
181194 sys .stdout .write (to_console [:COLUMNS - 2 ] + os .linesep )
182195 # print with progress
183- else :
196+ elif Console . show_progress :
184197 to_console = to_format .format (percentage , task .response_code ,
185198 task .response_size , task .number ,
186199 int (task .response_time ),
187200 Console .eta ,
188201 t_encode , content_type )
189202
190- sys .stdout .write (to_console [:COLUMNS - 2 ])
203+ sys .stdout .write (to_console [:COLUMNS - 2 ])
204+ sys .stdout .write ('\r ' )
205+
191206 sys .stdout .flush ()
192- sys .stdout .write ('\r ' )
193207
194- if not os .name == 'nt' :
208+ if not os .name == 'nt' and Console . show_progress :
195209 sys .stdout .write ("\x1b [0K" )
0 commit comments