Ejemplo n.º 1
0
rlwrap -z './logger.py -l logger.log' telnet
"""

import os
import sys

if 'RLWRAP_FILTERDIR' in os.environ:
    sys.path.append(os.environ['RLWRAP_FILTERDIR'])
else:
    sys.path.append('.')

import rlwrapfilter
import argparse
import re

filter = rlwrapfilter.RlwrapFilter()

parser = argparse.ArgumentParser()

parser.add_argument('--logfile', '-l', nargs='?',
                    type=argparse.FileType('a'),
                    default=open("/tmp/filterlog." + str(os.getpid()), mode='a'))
args = parser.parse_args()
fd = args.logfile

# a message_handler is seldom used (as it cannot change messages, only examine them) 
# It gets called with the tag as its second argument
def logit(message, tag):
    tagname = filter.tag2name(tag)
    tagname = re.sub(r'^TAG_', '', tagname)
    mangled = message
Ejemplo n.º 2
0
#!/usr/bin/env python3
"""a demo for doing nothing"""

import sys
import os

if 'RLWRAP_FILTERDIR' in os.environ:
    sys.path.append(os.environ['RLWRAP_FILTERDIR'])
else:
    sys.path.append('.')

import rlwrapfilter

filter = rlwrapfilter.RlwrapFilter()

filter.help_text = "Usage: rlwrap [-options] -z null.py <command>\n"\
                   + "a filter that does nothing"

filter.run()
Ejemplo n.º 3
0
"""
a demo for completing paths in sh wrapperd shell

Usage:
rlwrap -z './sh_file_completion.py' sh
"""

import os
import sys
import shlex
import rlwrapfilter


def get_files_by_prefix(path):
    command = "ls -dp1 -- %s* 2>/dev/null" % shlex.quote(path)
    output = filter.cloak_and_dagger(command, "\$ ", 1)

    return output.replace('\r', '').split('\n')


def completion_handler(line, path, completion_list):
    return get_files_by_prefix(path)


filter = rlwrapfilter.RlwrapFilter(completion_handler=completion_handler)
filter.set_completion_list_options(word_break_chars=[
    ' ', '\t', '\n', '\"', '\\', '`', '@'
    '$', '>', '<', '=', ';', '|', '&', '{', '('
])
filter.run()