Hi Milindu,

Good work on researching Python CLI frameworks. It would be great if you
could provide a list of available options and reasons for your selection.

Regarding the word separator issue, I agree with Martin. We might need to
support "-".

Thanks

On Tue, Feb 24, 2015 at 2:30 AM, Martin Eppel (meppel) <mep...@cisco.com>
wrote:

>  Hi Milindu,
>
>
>
> IMHO, not supporting “-“ could be an issue or at least very inconvenient
> (not sure what the cli will cover), for example currently alias validation
> (e.g. application alias) is set to exclude “_” but to allow “-“ (although I
> am not entirely clear why we ?)
>
>
>
> I would argue for patterns consistency across all stratos (java and
> python), WDYT ?
>
>
>
> Thanks
>
>
>
> Martin
>
>
>
> See ApplicationUtils.java:
>
> ….
>
> Pattern ALIAS_PATTERN = Pattern.compile("([a-z0-9]+([-][a-z0-9])*)+");
>
>
>
> *From:* Milindu Sanoj Kumarage [mailto:agentmili...@gmail.com]
> *Sent:* Monday, February 23, 2015 12:28 PM
> *To:* dev@stratos.apache.org
> *Subject:* Re: GSoC 2015
>
>
>
> 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
>
>
>



-- 
Imesh Gunaratne

Technical Lead, WSO2
Committer & PMC Member, Apache Stratos

Reply via email to