Пример #1
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()
Пример #2
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()
Пример #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: