def mainRender(needsRender, menu, selection): term = Terminal() if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print(term.black_on_cornsilk4(term.center('IOTstack Homebridg Server Options'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Select Option to configure {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, menu, selection, hotzoneLocation) if needsRender == 1: print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Controls: {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Up] and [Down] to move selection cursor {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [H] Show/hide this text {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Enter] to run command or save input {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Escape] to go back to build stack menu {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(needsRender, menu, selection): global paginationStartIndex global paginationSize term = Terminal() if selection >= paginationStartIndex + paginationSize: paginationStartIndex = selection - (paginationSize - 1) + 1 needsRender = 1 if selection <= paginationStartIndex - 1: paginationStartIndex = selection needsRender = 1 if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print(term.black_on_cornsilk4(term.center('IOTstack MariaDB Password Options'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Select Password Option {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, needsRender, menu, selection, hotzoneLocation) if needsRender == 1: print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: if term.height < 32: print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Not enough vertical room to render controls help text {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) else: print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Controls: {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Space] to select option {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Up] and [Down] to move selection cursor {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [H] Show/hide this text {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Enter] to build and save option {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Escape] to cancel changes {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(needsRender, menu, selection): term = Terminal() if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print( term.black_on_cornsilk4( term.center('Blockchain-based IOTstack Main Menu'))) print("") if needsRender >= 1: renderHotZone(term, menu, selection) if (buildComplete and needsRender == 1): print("") print("") print("") print( term.center( '{t.blue_on_green} {text} {t.normal}{t.white_on_black}{cPath} {t.normal}' .format(t=term, text="Build completed:", cPath=" ./docker-compose.yml"))) print( term.center( '{t.white_on_black}{text}{t.blue_on_green2} {commandString} {t.normal}' .format( t=term, text= "You can start the stack from the Docker Commands menu, or from the CLI with: ", commandString="docker-compose up -d"))) if os.path.exists('./compose-override.yml'): print("") print( term.center( '{t.grey_on_blue4} {text} {t.normal}{t.white_on_black}{t.normal}' .format( t=term, text= "'compose-override.yml' was merged into 'docker-compose.yml'" ))) print("")
def mainRender(needsRender, menu, selection): term = Terminal() if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print(term.black_on_cornsilk4(term.center('IOTstack Next Cloud Options'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Select Option to configure {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, menu, selection, hotzoneLocation) if needsRender == 1: print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: print(term.center(commonEmptyLine(renderMode))) print(term.center("{bv} Controls: {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Up] and [Down] to move selection cursor {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [H] Show/hide this text {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Enter] to run command or save input {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} [Escape] to go back to build stack menu {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if len(documentationHint) > 1: if len(documentationHint) > 56: documentationAndPadding = padText(documentationHint, 71) print(term.center("{bv} Documentation: {bv}".format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center("{bv} {dap} {bv}".format(bv=specialChars[renderMode]["borderVertical"], dap=documentationAndPadding))) else: documentationAndPadding = padText(documentationHint, 56) print(term.center("{bv} Documentation: {dap} {bv}".format(bv=specialChars[renderMode]["borderVertical"], dap=documentationAndPadding))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(needsRender, menu, selection): term = Terminal() if needsRender == 1: print(term.clear()) print(term.move_y(6 - hotzoneLocation[0])) print( term.black_on_cornsilk4( term.center('IOTstack Miscellaneous Commands'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Select Command to run {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, menu, selection, hotzoneLocation) if needsRender == 1: print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: if term.height < 30: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Not enough vertical room to render controls help text {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) else: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Controls: {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Up] and [Down] to move selection cursor {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [H] Show/hide this text {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Enter] to run command {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Escape] to go back to main menu {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(needsRender, menu, selection): term = Terminal() if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print( term.black_on_cornsilk4( term.center('IOTstack NodeRed Options'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Select Option to configure {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, menu, selection, hotzoneLocation) if needsRender == 1: if os.path.exists(serviceService + '/addons_list.yml'): if hasRebuiltAddons: print(term.center(commonEmptyLine(renderMode))) print( term.center( '{bv} {t.grey_on_blue4} {text} {t.normal}{t.white_on_black}{t.normal} {bv}' .format( t=term, text= "Addons list has been rebuilt: addons_list.yml", bv=specialChars[renderMode] ["borderVertical"]))) else: print(term.center(commonEmptyLine(renderMode))) print( term.center( '{bv} {t.grey_on_blue4} {text} {t.normal}{t.white_on_black}{t.normal} {bv}' .format( t=term, text= "Using existing addons_list.yml for addons installation", bv=specialChars[renderMode] ["borderVertical"]))) else: print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Controls: {bv}" .format( bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Up] and [Down] to move selection cursor {bv}" .format( bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [H] Show/hide this text {bv}" .format( bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Enter] to run command or save input {bv}" .format( bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Escape] to go back to build stack menu {bv}" .format( bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if len(documentationHint) > 1: if len(documentationHint) > 56: documentationAndPadding = padText( documentationHint, 71) print( term.center( "{bv} Documentation: {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center("{bv} {dap} {bv}".format( bv=specialChars[renderMode]["borderVertical"], dap=documentationAndPadding))) else: documentationAndPadding = padText( documentationHint, 56) print( term.center( "{bv} Documentation: {dap} {bv}".format( bv=specialChars[renderMode] ["borderVertical"], dap=documentationAndPadding))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(needsRender, menu, selection): global paginationStartIndex global paginationSize term = Terminal() if selection >= paginationStartIndex + paginationSize: paginationStartIndex = selection - (paginationSize - 1) + 1 needsRender = 1 if selection <= paginationStartIndex - 1: paginationStartIndex = selection needsRender = 1 if needsRender == 1: print(term.clear()) print(term.move_y(term.height // 16)) print( term.black_on_cornsilk4( term.center('IOTstack Node Red Addons'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Select NodeRed Addons (npm) to install on initial run {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) if needsRender >= 1: renderHotZone(term, needsRender, menu, selection, hotzoneLocation) if needsRender == 1: print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: if term.height < 32: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Not enough vertical room to render controls help text {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) else: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} Note: After initial startup installation, you must use the Palettes menu {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} in the NodeRed WUI to add or remove addons from NodeRed. {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} Controls: {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Space] to select or deselect addon {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Up] and [Down] to move selection cursor {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Tab] Expand or collapse addon menu size {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [S] Switch between sorted by checked and sorted alphabetically {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [H] Show/hide this text {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Enter] to build and save addons list {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print( term.center( "{bv} [Escape] to cancel changes {bv}" .format(bv=specialChars[renderMode] ["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))
def mainRender(menu, selection): term = Terminal() print(term.clear()) print(term.clear()) print(term.move_y(term.height // 16)) print(term.black_on_cornsilk4( term.center('IOTstack Example Commands'))) print("") print(term.center(commonTopBorder(renderMode))) print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Select Command to run {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) lineLengthAtTextStart = 71 for (index, menuItem) in enumerate(menu): toPrint = "" if index == selection: # This checks if the current rendering item is the one that's selected toPrint += ( '{bv} -> {t.blue_on_green} {title} {t.normal} <-'.format( t=term, title=menuItem[0], bv=specialChars[renderMode]["borderVertical"])) else: if len( menu[index] ) > 2 and "customProperty" in menu[index][2] and menu[index][2][ "customProperty"] == True: # A custom property check example toPrint += ( '{bv} {t.black_on_green} {title} {t.normal} '. format(t=term, title=menuItem[0], bv=specialChars[renderMode]["borderVertical"])) else: toPrint += ('{bv} {t.normal} {title} '.format( t=term, title=menuItem[0], bv=specialChars[renderMode]["borderVertical"])) for i in range(lineLengthAtTextStart - len(menuItem[0])): # Pad the remainder of the line toPrint += " " toPrint += "{bv}".format( bv=specialChars[renderMode]["borderVertical"]) toPrint = term.center(toPrint) print(toPrint) print(term.center(commonEmptyLine(renderMode))) if not hideHelpText: print(term.center(commonEmptyLine(renderMode))) print( term.center( "{bv} Controls: {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Up] and [Down] to move selection cursor {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [H] Show/hide this text {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Enter] to run command {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print( term.center( "{bv} [Escape] to go back to build stack menu {bv}" .format(bv=specialChars[renderMode]["borderVertical"]))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonEmptyLine(renderMode))) print(term.center(commonBottomBorder(renderMode)))