Hi,

Great to see the project is progressing!

What is the Jira to track this?

Thanks.



On Tue, Feb 24, 2015 at 12:33 PM, Akila Ravihansa Perera <raviha...@wso2.com
> wrote:

> Hi Milindu,
>
> Welcome to Stratos!
>
> It's great to see that you've already started working on this. Regarding
> your suggestion to use cmd2, I think it's better if you can do some
> research on alternative libraries and list down pros and cons. This is to
> make sure that we're making the best decision possible and not missing out
> on anything much better.
>
> And for the support for "-" character. Perhaps I mis-understood the
> problem but I don't see how this could affect passing an alias value with a
> hyphen character. Is this character limitation only for CLI commands OR for
> any argument that is passed?
>
> Having to use "create tenant <tenant param>" OR "create_tenant <tenant
> param>" is okay, IMO.
>
> Thanks.
>
> On Mon, Feb 23, 2015 at 10:52 PM, Imesh Gunaratne <im...@apache.org>
> wrote:
>
>> 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
>>
>
>
>
> --
> Akila Ravihansa Perera
> Software Engineer, WSO2
>
> Blog: http://ravihansa3000.blogspot.com
>



-- 
--
Lahiru Sandaruwan
Committer and PMC member, Apache Stratos,
Senior Software Engineer,
WSO2 Inc., http://wso2.com
lean.enterprise.middleware

email: lahi...@wso2.com blog: http://lahiruwrites.blogspot.com/
linked-in: http://lk.linkedin.com/pub/lahiru-sandaruwan/16/153/146

Reply via email to