Hi,

Thanks for the quick and detailed reply, I'm confident that I can work on
this. I'll start creating the project proposal.

I have some questions,
I considered several Python CLI frameworks and packages ( Click, Plac,
Cement, etc ) and found cmd2 package is more suitable for the need.
It supports both  Interactive mode and Single command line mode. Have lot
of features like auto-complete, history, executing shell commands while in
Interactive Mode, etc. Their coding styles are also very clean and easy to
understand.

do_greet(self, arg):
    print("Hello ", arg)

this would be,

stratos>greet Milindu
Hello Milindu

And it supports Unix-style flags also.


Only thing that is `-` can not be used. but `_` is possible.

def do_create_tenant(self, arg):
    print("Created ")

this could be invoked as either,

stratos>create_tenant

or

stratos>create tenant

Would this be a problem? (  have to accommodate  workarounds to get `-`
into action if you really need them ) I think I  can provide a basic
implementation if you are interested.

Thank you


On Mon, Feb 23, 2015 at 9:58 AM, Imesh Gunaratne <im...@apache.org> wrote:

> Hi Milindu,
>
> It's nice to hear from you! Thanks for introducing yourself, it seems like
> you have a good background for this project.
>
> On Mon, Feb 23, 2015 at 1:15 AM, Milindu Sanoj Kumarage <
> agentmili...@gmail.com> wrote:
>
>>
>>     1. I'm thinking of using a Python CLI framework instead of writing
>> from the scratch, in order to increase the reliability and
>> maintainability.  What's your idea on that?
>>
>
>>
> Yes definitely! Better to use a Python CLI framework rather than writing
> it from scratch.
>
>
>>    2. The final product would be a python script that we run like `$
>> python stratos.py login` (  or with a wrapper for Linux and Windows
>> environments like `stratos-cli.sh` ) or python package submitted to Pip
>> that can be installed to a system as `$pip install stratos-cli`  and run
>> as `$stratos-cli login`?
>>
>> Yes the final deliverable would be a Python based CLI for Stratos which
> may include following:
>
> - Need to be implemented for Stratos 4.1.0
> - Communicate with Stratos REST API via HTTPS
> - Authenticate users using Basic Auth/OAuth
> - Implement CLI commands for API methods
> - Each command should have standard CLI features (help, auto-complete, etc)
> - CLI commands which receives data from the server needs to be properly
> printed
> - There are two CLI commands which needs to print Tree structures
> (Application definition and Application runtime)
> - Documentation for CLI in Stratos Wiki
>
> It would be great if you could go through the Stratos 4.1.0 API and
> existing Java based CLI and prepare a project proposal. Once it is ready we
> can review the plan and move forward.
>
> Thanks
>
> --
> Imesh Gunaratne
>
> Technical Lead, WSO2
> Committer & PMC Member, Apache Stratos
>

Reply via email to