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()
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()
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()
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)
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:
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
''' 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,