Beispiel #1
0
def println(line):
	# blank line
	if re.match(r'\s*$', line):
		return puts(line)

	# logfile header
	mobj = re.match(r'==> (.*) <==$', line)
	if mobj:
		return puts(style.bright(fore.black('==> ') + fore.white(mobj.group(1)) + fore.black(' <==')))
	
	# exception line
	if re.match(EXCEPTION_PREFIX, line):
		return puts(fore.red(line))

	# standard log line
	basic = r'(.*?\s+)'

	date = basic*3
	time = basic
	type = basic
	file = '(\[.*?\s+)\])'

	mobj = re.match(basic*6 + r'(.*)', line)
	if not mobj:
		# non-conventional line
		return puts(line)
	else:
		groups = list(mobj.groups())

		groups.insert(0, str(fore.cyan))
		groups.insert(4, str(fore.blue))
		groups.insert(6, str(style.bright))
		groups.insert(8, str(style.reset_all))
		groups.insert(9, str(fore.cyan))
		groups.insert(11, str(style.reset_all))

		for idx, string in enumerate(groups):
			string = re.sub(r'(STATUS)', fore.white(r'\1'), string)
			string = re.sub(r'(DEBUG)', fore.white(r'\1'), string)
			string = re.sub(r'(INFO)', fore.green(r'\1'), string)
			string = re.sub(r'(WARNING)', fore.yellow(r'\1'), string)
			string = re.sub(r'(ERROR)', fore.red(r'\1'), string)
			string = re.sub(r'(EXCEPT)', fore.red(r'\1'), string)

			groups[idx] = string


		groups[-1] = re.sub(r'\[', fore.cyan(r'['), groups[-1])
		groups[-1] = re.sub(r'\]', fore.cyan(r']'), groups[-1])

		groups[-1] = re.sub(r'~>', fore.blue(r'~>'), groups[-1])
		groups[-1] = re.sub(r'<~', fore.yellow(r'<~'), groups[-1])

		groups[-1] = re.sub(r'\(', fore.cyan(r'('), groups[-1])
		groups[-1] = re.sub(r'\)', fore.cyan(r')'), groups[-1])

		groups[-1] = re.sub(r"'", fore.cyan(r"'"), groups[-1])
		groups[-1] = re.sub(r'"', fore.cyan(r'"'), groups[-1])

		return puts(''.join(groups))
Beispiel #2
0
def api(modules):
    # ensure iterable
    if isinstance(modules, Socket):
        modules = [modules]

    # iterate list
    for module in modules:
        puts('= ' + fore.green(module.name))
        for obj in module.help():
            if isinstance(obj, list):
                # method
                puts('  * ' + fore.yellow(obj[0]) + ' ' + fore.white(obj[1]))
                if obj[2]:
                    puts('    ' + fore.blue(obj[2]))
Beispiel #3
0
def api(modules):
	# ensure iterable
	if isinstance(modules, Socket):
		modules = [modules]
	
	# iterate list
	for module in modules:
		puts('= ' + fore.green(module.name))
		for obj in module.help():
			if isinstance(obj, list):
				# method
				puts('  * ' + fore.yellow(obj[0]) + ' ' + fore.white(obj[1]))
				if obj[2]:
					puts('    ' + fore.blue(obj[2]))
Beispiel #4
0
    def decorator(base):
        info = ': ' + arg if type(arg) is str else ''
        header = fore.green('** ' + fore.cyan(base.__name__) + info)

        def func(*args, **kwargs):
            sys.stdout.indent_level += 1

            puts(header)
            base(*args, **kwargs)

            sys.stdout.indent_level -= 1

        params = inspect.formatargspec(*inspect.getargspec(base))[1:-1]
        specformat = fore.cyan('%s') + ' ' + fore.white('%s')

        func._task = True
        func._spec = specformat % (base.__name__, params)
        func._desc = re.sub('\s+', ' ', inspect.getdoc(base) or '')
        return func
Beispiel #5
0
	def decorator(base):
		info = ': ' + arg if type(arg) is str else ''
		header = fore.green('** ' + fore.cyan(base.__name__) + info)

		def func(*args, **kwargs):
			sys.stdout.indent_level += 1

			puts(header)
			base(*args, **kwargs)

			sys.stdout.indent_level -= 1

		params = inspect.formatargspec(*inspect.getargspec(base))[1:-1]
		specformat = fore.cyan('%s') + ' ' + fore.white('%s')

		func._task = True
		func._spec = specformat % (base.__name__, params)
		func._desc = re.sub('\s+', ' ', inspect.getdoc(base) or '')
		return func
Beispiel #6
0
def println(line):
    # blank line
    if re.match(r'\s*$', line):
        return puts(line)

    # logfile header
    mobj = re.match(r'==> (.*) <==$', line)
    if mobj:
        return puts(
            style.bright(
                fore.black('==> ') + fore.white(mobj.group(1)) +
                fore.black(' <==')))

    # exception line
    if re.match(EXCEPTION_PREFIX, line):
        return puts(fore.red(line))

    # standard log line
    basic = r'(.*?\s+)'

    date = basic * 3
    time = basic
    type = basic
    file = '(\[.*?\s+)\])'

    mobj = re.match(basic * 6 + r'(.*)', line)
    if not mobj:
        # non-conventional line
        return puts(line)
    else:
        groups = list(mobj.groups())

        groups.insert(0, str(fore.cyan))
        groups.insert(4, str(fore.blue))
        groups.insert(6, str(style.bright))
        groups.insert(8, str(style.reset_all))
        groups.insert(9, str(fore.cyan))
        groups.insert(11, str(style.reset_all))

        for idx, string in enumerate(groups):
            string = re.sub(r'(STATUS)', fore.white(r'\1'), string)
            string = re.sub(r'(DEBUG)', fore.white(r'\1'), string)
            string = re.sub(r'(INFO)', fore.green(r'\1'), string)
            string = re.sub(r'(WARNING)', fore.yellow(r'\1'), string)
            string = re.sub(r'(ERROR)', fore.red(r'\1'), string)
            string = re.sub(r'(EXCEPT)', fore.red(r'\1'), string)

            groups[idx] = string

        groups[-1] = re.sub(r'\[', fore.cyan(r'['), groups[-1])
        groups[-1] = re.sub(r'\]', fore.cyan(r']'), groups[-1])

        groups[-1] = re.sub(r'~>', fore.blue(r'~>'), groups[-1])
        groups[-1] = re.sub(r'<~', fore.yellow(r'<~'), groups[-1])

        groups[-1] = re.sub(r'\(', fore.cyan(r'('), groups[-1])
        groups[-1] = re.sub(r'\)', fore.cyan(r')'), groups[-1])

        groups[-1] = re.sub(r"'", fore.cyan(r"'"), groups[-1])
        groups[-1] = re.sub(r'"', fore.cyan(r'"'), groups[-1])

        return puts(''.join(groups))