mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2025-12-15 20:29:04 +00:00
Minor refactoring
This commit is contained in:
44
thirdparty/ansistrm/ansistrm.py
vendored
44
thirdparty/ansistrm/ansistrm.py
vendored
@@ -130,6 +130,16 @@ class ColorizingStreamHandler(logging.StreamHandler):
|
||||
|
||||
ctypes.windll.kernel32.SetConsoleTextAttribute(h, color)
|
||||
|
||||
def _reset(self, message):
|
||||
if not message.endswith(self.reset):
|
||||
reset = self.reset
|
||||
elif self.bold in message: # bold
|
||||
reset = self.reset + self.bold
|
||||
else:
|
||||
reset = self.reset
|
||||
|
||||
return reset
|
||||
|
||||
def colorize(self, message, levelno):
|
||||
if levelno in self.level_map and self.is_tty:
|
||||
bg, fg, bold = self.level_map[levelno]
|
||||
@@ -162,51 +172,29 @@ class ColorizingStreamHandler(logging.StreamHandler):
|
||||
match = re.search(r"\A\s*\[([\d:]+)\]", message) # time
|
||||
if match:
|
||||
time = match.group(1)
|
||||
if not message.endswith(self.reset):
|
||||
reset = self.reset
|
||||
elif self.bold in message: # bold
|
||||
reset = self.reset + self.bold
|
||||
else:
|
||||
reset = self.reset
|
||||
message = message.replace(time, ''.join((self.csi, str(self.color_map["cyan"] + 30), 'm', time, reset)), 1)
|
||||
message = message.replace(time, ''.join((self.csi, str(self.color_map["cyan"] + 30), 'm', time, self._reset(message))), 1)
|
||||
|
||||
match = re.search(r"\[(#\d+)\]", message) # counter
|
||||
if match:
|
||||
counter = match.group(1)
|
||||
if not message.endswith(self.reset):
|
||||
reset = self.reset
|
||||
elif self.bold in message: # bold
|
||||
reset = self.reset + self.bold
|
||||
else:
|
||||
reset = self.reset
|
||||
message = message.replace(counter, ''.join((self.csi, str(self.color_map["yellow"] + 30), 'm', counter, reset)), 1)
|
||||
message = message.replace(counter, ''.join((self.csi, str(self.color_map["yellow"] + 30), 'm', counter, self._reset(message))), 1)
|
||||
|
||||
if level != "PAYLOAD":
|
||||
if any(_ in message for _ in ("parsed DBMS error message",)):
|
||||
string = re.search(r": '(.+)'", message).group(1)
|
||||
if not message.endswith(self.reset):
|
||||
reset = self.reset
|
||||
elif self.bold in message: # bold
|
||||
reset = self.reset + self.bold
|
||||
else:
|
||||
reset = self.reset
|
||||
message = message.replace("'%s'" % string, "'%s'" % ''.join((self.csi, str(self.color_map["white"] + 30), 'm', string, reset)), 1)
|
||||
message = message.replace("'%s'" % string, "'%s'" % ''.join((self.csi, str(self.color_map["white"] + 30), 'm', string, self._reset(message))), 1)
|
||||
else:
|
||||
for match in re.finditer(r"[^\w]'([^']+)'", message): # single-quoted
|
||||
string = match.group(1)
|
||||
if not message.endswith(self.reset):
|
||||
reset = self.reset
|
||||
elif self.bold in message: # bold
|
||||
reset = self.reset + self.bold
|
||||
else:
|
||||
reset = self.reset
|
||||
message = message.replace("'%s'" % string, "'%s'" % ''.join((self.csi, str(self.color_map["white"] + 30), 'm', string, reset)), 1)
|
||||
message = message.replace("'%s'" % string, "'%s'" % ''.join((self.csi, str(self.color_map["white"] + 30), 'm', string, self._reset(message))), 1)
|
||||
else:
|
||||
message = ''.join((self.csi, ';'.join(params), 'm', message, self.reset))
|
||||
|
||||
if prefix:
|
||||
message = "%s%s" % (prefix, message)
|
||||
|
||||
message = message.replace("%s]" % self.bold, "]%s" % self.bold) # dirty patch
|
||||
|
||||
return message
|
||||
|
||||
def format(self, record):
|
||||
|
||||
Reference in New Issue
Block a user