Ejemplo n.º 1
0
  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)))
Ejemplo n.º 2
0
  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)))
Ejemplo n.º 3
0
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("")
Ejemplo n.º 4
0
  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)))
Ejemplo n.º 5
0
    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)))
Ejemplo n.º 6
0
    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)))
Ejemplo n.º 7
0
    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)))
Ejemplo n.º 8
0
    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)))