ansi color code names

git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@637 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
calvin 2002-11-27 01:06:47 +00:00
parent d4123cdcd5
commit 33518d2fda
3 changed files with 80 additions and 35 deletions

View file

@ -123,17 +123,17 @@ class Configuration (UserDict.UserDict):
}
self['colored'] = {
"filename": "linkchecker-out.ansi",
'colorparent': "37", # white
'colorurl': "0", # standard
'colorname': "0", # standard
'colorreal': "36", # cyan
'colorbase': "35", # magenty
'colorvalid': "1;32", # green
'colorinvalid': "1;31", # red
'colorinfo': "0", # standard
'colorwarning': "1;33", # yellow
'colordltime': "0", # standard
'colorreset': "0", # reset to standard
'colorparent': "white",
'colorurl': "default",
'colorname': "default",
'colorreal': "cyan",
'colorbase': "purple",
'colorvalid': "bold;green",
'colorinvalid': "bold;red",
'colorinfo': "default",
'colorwarning': "bold;yellow",
'colordltime': "default",
'colorreset': "default",
}
self['gml'] = {
"filename": "linkchecker-out.gml",

View file

@ -14,27 +14,69 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
import linkcheck
import sys, linkcheck
from linkcheck.log import Spaces
from StandardLogger import StandardLogger
AnsiType = {
'bold': "1",
'light': "2",
'blink': "5",
'invert': "7",
}
AnsiColor = {
'default': '0',
'black': "30",
'red': "31",
'green': "32",
'yellow': "33",
'blue': "34",
'purple': "35",
'cyan': "36",
'white': "37",
'Black': "40",
'Red': "41",
'Green': "42",
'Yellow': "43",
'Blue': "44",
'Purple': "45",
'Cyan': "46",
'White': "47",
}
def col_num (s):
type = ""
if ";" in s:
type, s = s.split(";", 1)
if not AnsiType.has_key(type):
print >>sys.stderr, "invalid ansi type", `type`
print >>sys.stderr, "valid values are", AnsiType.keys()
type = AnsiType[type]+";"
if not AnsiColor.has_key(s):
print >>sys.stderr, "invalid ansi color", `s`
print >>sys.stderr, "valid values are", AnsiColor.keys()
s = AnsiColor[s]
return type+s
class ColoredLogger (StandardLogger):
"""ANSI colorized output"""
def __init__ (self, **args):
esc="\x1b[%sm"
apply(StandardLogger.__init__, (self,), args)
self.colorparent = esc % args['colorparent']
self.colorurl = esc % args['colorurl']
self.colorname = esc % args['colorname']
self.colorreal = esc % args['colorreal']
self.colorbase = esc % args['colorbase']
self.colorvalid = esc % args['colorvalid']
self.colorinvalid = esc % args['colorinvalid']
self.colorinfo = esc % args['colorinfo']
self.colorwarning = esc % args['colorwarning']
self.colordltime = esc % args['colordltime']
self.colorreset = esc % args['colorreset']
self.colorparent = esc % col_num(args['colorparent'])
self.colorurl = esc % col_num(args['colorurl'])
self.colorname = esc % col_num(args['colorname'])
self.colorreal = esc % col_num(args['colorreal'])
self.colorbase = esc % col_num(args['colorbase'])
self.colorvalid = esc % col_num(args['colorvalid'])
self.colorinvalid = esc % col_num(args['colorinvalid'])
self.colorinfo = esc % col_num(args['colorinfo'])
self.colorwarning = esc % col_num(args['colorwarning'])
self.colordltime = esc % col_num(args['colordltime'])
self.colorreset = esc % col_num(args['colorreset'])
self.currentPage = None
self.prefix = 0

View file

@ -103,18 +103,21 @@
#
[colored]
#filename=linkchecker-out.colored
# colors for the various parts
#colorparent=37
#colorurl=0
#colorname=0
#colorreal=36
#colorbase=35
#colorvalid=1;32
#colorinvalid=1;31
#colorinfo=0
#colorwarning=1;33
#colordltime=0
#colorreset=0
# colors for the various parts, syntax is <color> or <type>;<color>
# type can be bold, light, blink, invert
# color can be default, black, red, green, yellow, blue, purple, cyan, white,
# Black, Red, Green, Yellow, Blue, Purple, Cyan, White
#colorparent=white
#colorurl=default
#colorname=default
#colorreal=cyan
#colorbase=purple
#colorvalid=bold;green
#colorinvalid=bold;red
#colorinfo=default
#colorwarning=bold;yekkiw
#colordltime=default
#colorreset=default
#fields=all
# blacklist logger