Пример #1
0
def getRowsFromScreenRun(
        inputFile,
        charInputs,
        screenConfig={},
        printScreen=True,
        pastScreen=None,
        args=[]):

    lineObjs = getLineObjsFromFile(inputFile)
    screen = ScreenForTest(
        charInputs,
        maxX=screenConfig.get('maxX', 80),
        maxY=screenConfig.get('maxY', 30),
    )

    # mock our flags with the passed arg list
    flags = ScreenFlags.initFromArgs(args)
    # we run our program and throw a StopIteration exception
    # instead of sys.exit-ing
    try:
        choose.doProgram(screen, flags, CursesForTest(), lineObjs)
    except StopIteration:
        pass

    if printScreen:
        screen.printOldScreens()

    if pastScreen:
        return screen.getRowsWithAttributesForPastScreen(pastScreen)
    return screen.getRowsWithAttributes()
Пример #2
0
def getRowsFromScreenRun(inputFile,
                         charInputs,
                         screenConfig={},
                         printScreen=True,
                         pastScreen=None,
                         pastScreens=None,
                         validateFileExists=False,
                         args=[]):

    lineObjs = getLineObjsFromFile(inputFile,
                                   validateFileExists=validateFileExists)
    screen = ScreenForTest(
        charInputs,
        maxX=screenConfig.get('maxX', 80),
        maxY=screenConfig.get('maxY', 30),
    )

    # mock our flags with the passed arg list
    flags = ScreenFlags.initFromArgs(args)
    # we run our program and throw a StopIteration exception
    # instead of sys.exit-ing
    try:
        choose.doProgram(screen, flags, CursesForTest(), lineObjs)
    except StopIteration:
        pass

    if printScreen:
        screen.printOldScreens()

    if pastScreen:
        return screen.getRowsWithAttributesForPastScreen(pastScreen)
    elif pastScreens:
        return screen.getRowsWithAttributesForPastScreens(pastScreens)

    return screen.getRowsWithAttributes()
Пример #3
0
def doProgram(stdscr, cursesAPI=None, lineObjs=None, flags=None):
    # curses and lineObjs get dependency injected for
    # our tests, so init these if they are not provided
    if not cursesAPI:
        cursesAPI = CursesAPI()
    if not lineObjs:
        lineObjs = getLineObjs()
    if not flags:
        flags = ScreenFlags.initFromArgs()
    output.clearFile()
    logger.clearFile()
    screen = screenControl.Controller(stdscr, lineObjs, cursesAPI)
    screen.control()
Пример #4
0
    return lineObjs


def doProgram(flags):
    filePath = stateFiles.getPickleFilePath()
    lineObjs = getLineObjs(flags)
    # pickle it so the next program can parse it
    pickle.dump(lineObjs, open(filePath, 'wb'))


def usage():
    print(USAGE_STR)


if __name__ == '__main__':
    flags = ScreenFlags.initFromArgs(sys.argv[1:])
    if (flags.getIsCleanMode()):
        print('Cleaning out state files...')
        for filePath in stateFiles.getAllStateFiles():
            if os.path.isfile(filePath):
                os.remove(filePath)
        print('Done! Removed %d files ' % len(stateFiles.getAllStateFiles()))
        sys.exit(0)

    if sys.stdin.isatty():
        if os.path.isfile(stateFiles.getPickleFilePath()):
            print('Using old result...')
        else:
            usage()
        # let the next stage parse the old version
        sys.exit(0)
Пример #5
0
    return lineObjs


def doProgram(flags):
    filePath = stateFiles.getPickleFilePath()
    lineObjs = getLineObjs(flags)
    # pickle it so the next program can parse it
    pickle.dump(lineObjs, open(filePath, 'wb'))


def usage():
    print(USAGE_STR)


if __name__ == '__main__':
    flags = ScreenFlags.initFromArgs(sys.argv[1:])
    if (flags.getIsCleanMode()):
        print('Cleaning out state files...')
        for filePath in stateFiles.getAllStateFiles():
            if os.path.isfile(filePath):
                os.remove(filePath)
        print('Done! Removed %d files ' % len(stateFiles.getAllStateFiles()))
        sys.exit(0)

    if sys.stdin.isatty():
        if os.path.isfile(stateFiles.getPickleFilePath()):
            print('Using previous input piped to fpp...')
        else:
            usage()
        # let the next stage parse the old version
    else:
Пример #6
0
CLICOLOR_FORCE in your environment to anything.)

'''

USAGE_COMMAND_LINE = '''
== Command line arguments ==


PathPicker supports some command line arguments, as well.

'''

USAGE_TAIL = '''
That's a fairly in-depth overview of Facebook PathPicker.
We also provide help along the way as you
use the app, so don't worry and jump on in!
'''

USAGE_STR = USAGE_INTRO + \
    USAGE_PAGE_HEADER + \
    USAGE_PAGE + \
    USAGE_COMMAND_HEADER + \
    USAGE_COMMAND + \
    USAGE_CONFIGURATION + \
    USAGE_COMMAND_LINE + \
    ScreenFlags.getArgParser().format_help() + \
    USAGE_TAIL

decorator = '*' * 80
USAGE_STR = decorator + '\n' + USAGE_STR + '\n' + decorator
Пример #7
0
'''

USAGE_TAIL = '''
That's a fairly in-depth overview of Facebook PathPicker.
We also provide help along the way as you
use the app, so don't worry and jump on in!
'''

USAGE_STR = USAGE_INTRO + \
    USAGE_PAGE_HEADER + \
    USAGE_PAGE + \
    USAGE_COMMAND_HEADER + \
    USAGE_COMMAND + \
    USAGE_CONFIGURATION + \
    USAGE_COMMAND_LINE + \
    ScreenFlags.getArgParser().format_help() + \
    USAGE_TAIL

decorator = '*' * 80
USAGE_STR = decorator + '\n' + USAGE_STR + '\n' + decorator

MANPAGE_STR = '\n\n'.join([
    MANPAGE_HEADER,
    MANPAGE_NAME_SECTION,
    MANPAGE_SYNOPSIS,
    # FIXME: asciidoc example block?
    # http://www.methods.co.nz/asciidoc/userguide.html#X48
    ScreenFlags.getArgParser().format_help(),
    MANPAGE_INTRO_PRE,
    INTRO,
    USAGE_PAGE_HEADER,