Hi,

I coded that tree printing functionality, assuming it is a JSON structure
we have to print and it looks likes this one.

 [
        {
            "name": "level-one-group",
            "cartridges": [
                "esb",
                "tomcat"
            ],
            "groups": [
        {
            "name": "level-two-group",
            "cartridges": [
                "esb",
                "tomcat"
            ],
                    "groups": [
                {
                    "name": "level-three-group",
                    "cartridges": [
                        "esb",
                        "tomcat"
                    ]
                }
                 ]
        }
        ]
        }
    ]

Giving the following JSON, the output tree structure look likes the
following.
_
|
+-|
  +-cartridges
  +-|
  | +-esb
  | +-tomcat
  +-name : level-one-group
  +-groups
  +-|
    +-|
      +-cartridges
      +-|
      | +-esb
      | +-tomcat
      +-name : level-two-group
      +-groups
      +-|
        +-|
          +-cartridges
          +-|
          | +-esb
          | +-tomcat
          +-name : level-three-group

Hope this is how you want it. We can change the styles if you like.

On Fri, Mar 27, 2015 at 7:11 PM, Milindu Sanoj Kumarage <
agentmili...@gmail.com> wrote:

> Hi,
>
> I have updated the proposal including more implementation details, and the
> demo app's details.
>
> ​​​​​
>  Proposal : Python based Command Line Tool (CLI) for Stratos
> <https://docs.google.com/document/d/1ORkVPtFnJQi6szswKaim8ZCIKMHi3d3eCVOuA18GOG4/edit?usp=drive_web>
> ​
>
> Meanwhile, I'm implementing the tree printing functionality. What are the
> details that need to be printed? It is data relates to clusters that comes
> as a JSON, right? Can I have a sample JSON, please.
>
>
>
> On Thu, Mar 26, 2015 at 12:05 AM, Milindu Sanoj Kumarage <
> agentmili...@gmail.com> wrote:
>
>> Hi Imesh,
>>
>> Here I have uploaded  a simple CLI demo to Pip, you can install it with
>> giving this command if you have Pip on your system.
>>
>> $ sudo pip install stratos
>>
>> then can invoke it simply calling it on CLI as,
>>
>> $ stratos
>>
>>
>> What I'm trying to demonstrate with this demo is the basic functionalists
>> of the CLI, like autocomplete option, help options, input/ output
>> redirection, etc. And ability to consume RESTful services via HTTP,
>> authenticating with HTTP Basic authentication. And also my ability to
>> create Python distributions.
>>
>> I'm using Github's API currently in order to demonstrate the ability to
>> make requests to API and get responses. Connecting to Github API with HTTP
>> Basic authentication.
>>
>>
>> *In the Interactive mode*
>>
>>    1. Give the 'user' command as follows. You will see your name and
>>    email retrieved from the Github API.
>>
>>    user -u <github-username> -p <github-password>
>>
>>    2. Type 're' and press Tab, it will complete the command.
>>    3. Type 'de' and press Tab, then the command will be completed up to
>>    'deploy-' then press Tab twice. It will show the possible commands.
>>    4. Type 'de' and press Tab, then the command will be completed up to
>>    'deploy-' then type 'u' and press Tab , it will complete the command.
>>    5. Type '?repositories' or 'help repositories' , this will show the
>>    help options for 'repositories' command.
>>    6. Give the 'repositories' command as follows. You will see 5 of your
>>    Github repositories in tabular format, retrieved from the Github API.
>>
>>    repositories -u <github-username> -p <github-password>
>>
>>    +----------------------+------------+
>>    |         Name         |  language  |
>>    +======================+============+
>>    | backbone-boilerplate | JavaScript |
>>    | CRUD.js              |        CSS |
>>    | DeciesGraph          |        CSS |
>>    | fancyBox             | JavaScript |
>>    | html5-boilerplate    | JavaScript |
>>    +----------------------+------------+
>>
>>    7. press up arrow key, you will the the last command issues, you can
>>    traverse through the history using up and down arrow keys.
>>    8. Try history command, Try list command.
>>    9. Try giving a shell command, it will work in the same way the bash
>>    works.
>>
>>    !ls
>>
>>    or
>>
>>    shell ls
>>
>> *In the single command mode*
>>
>>    1. Issues the commands in the same way as in interactive mode.
>>
>>    $ repositories -u <github-username> -p <github-password>
>>
>>    2. Issues this command in command line. It will write the output to a
>>    file names 'out.txt'.
>>
>>    stratos repositories -u <github-username> -p <github-password> >
>>    out.txt
>>
>>    3. Issues this command in command line. It will pipe the output to
>>    the grep command.
>>
>>    stratos repositories -u <github-username> -p <github-password> |
>>     grep JavaScript
>>
>>    4. Create a file with some commands, entered line by line, save it as
>>    commands.txt, then give this command while in CMD. It will execute the
>>    commands line by line and print the output to the console.
>>
>>    stratos < commands.txt
>>
>>    5. Create a file with some commands, entered line by line, save it as
>>    commands.txt, then give this command while in CMD. It will execute the
>>    commands line by line and print the output to out.txt file.
>>
>>    stratos < commands.txt > out.txt
>>
>>
>>
>>    ( I developed and tested  this on Linux with Python 2.7 version )
>>
>>
>
> On Thu, Mar 26, 2015 at 12:05 AM, Milindu Sanoj Kumarage <
> agentmili...@gmail.com> wrote:
>
>> Hi Imesh,
>>
>> Here I have uploaded  a simple CLI demo to Pip, you can install it with
>> giving this command if you have Pip on your system.
>>
>> $ sudo pip install stratos
>>
>> then can invoke it simply calling it on CLI as,
>>
>> $ stratos
>>
>>
>> What I'm trying to demonstrate with this demo is the basic functionalists
>> of the CLI, like autocomplete option, help options, input/ output
>> redirection, etc. And ability to consume RESTful services via HTTP,
>> authenticating with HTTP Basic authentication. And also my ability to
>> create Python distributions.
>>
>> I'm using Github's API currently in order to demonstrate the ability to
>> make requests to API and get responses. Connecting to Github API with HTTP
>> Basic authentication.
>>
>>
>> *In the Interactive mode*
>>
>>    1. Give the 'user' command as follows. You will see your name and
>>    email retrieved from the Github API.
>>
>>    user -u <github-username> -p <github-password>
>>
>>    2. Type 're' and press Tab, it will complete the command.
>>    3. Type 'de' and press Tab, then the command will be completed up to
>>    'deploy-' then press Tab twice. It will show the possible commands.
>>    4. Type 'de' and press Tab, then the command will be completed up to
>>    'deploy-' then type 'u' and press Tab , it will complete the command.
>>    5. Type '?repositories' or 'help repositories' , this will show the
>>    help options for 'repositories' command.
>>    6. Give the 'repositories' command as follows. You will see 5 of your
>>    Github repositories in tabular format, retrieved from the Github API.
>>
>>    repositories -u <github-username> -p <github-password>
>>
>>    +----------------------+------------+
>>    |         Name         |  language  |
>>    +======================+============+
>>    | backbone-boilerplate | JavaScript |
>>    | CRUD.js              |        CSS |
>>    | DeciesGraph          |        CSS |
>>    | fancyBox             | JavaScript |
>>    | html5-boilerplate    | JavaScript |
>>    +----------------------+------------+
>>
>>    7. press up arrow key, you will the the last command issues, you can
>>    traverse through the history using up and down arrow keys.
>>    8. Try history command, Try list command.
>>    9. Try giving a shell command, it will work in the same way the bash
>>    works.
>>
>>    !ls
>>
>>    or
>>
>>    shell ls
>>
>> *In the single command mode*
>>
>>    1. Issues the commands in the same way as in interactive mode.
>>
>>    $ repositories -u <github-username> -p <github-password>
>>
>>    2. Issues this command in command line. It will write the output to a
>>    file names 'out.txt'.
>>
>>    stratos repositories -u <github-username> -p <github-password> >
>>    out.txt
>>
>>    3. Issues this command in command line. It will pipe the output to
>>    the grep command.
>>
>>    stratos repositories -u <github-username> -p <github-password> |
>>     grep JavaScript
>>
>>    4. Create a file with some commands, entered line by line, save it as
>>    commands.txt, then give this command while in CMD. It will execute the
>>    commands line by line and print the output to the console.
>>
>>    stratos < commands.txt
>>
>>    5. Create a file with some commands, entered line by line, save it as
>>    commands.txt, then give this command while in CMD. It will execute the
>>    commands line by line and print the output to out.txt file.
>>
>>    stratos < commands.txt > out.txt
>>
>>
>>
>>    ( I developed and tested  this on Linux with Python 2.7 version )
>>
>>
>

Reply via email to