16 Commits

Author SHA1 Message Date
Rohit Yadav
5c24c34d7f cli: use partition instead of split to parse through args
Use partition instead of splitting on whitespace. This is little robust, but
may still fail for parameters whose values have whitespaces such as names etc.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-06 14:54:35 +05:30
Rohit Yadav
9e6b366023 cli: add autocompletion and dynamic help doc
- autocompletions for help docs
- more verbose doc strings with __doc__ import from the module and list of
  required args and all args

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-06 14:28:40 +05:30
Rohit Yadav
a1089c4304 cli: move code, refactor and add docstring
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-06 14:28:40 +05:30
Rohit Yadav
d0f9610355 cli: add feature to cache docstrings for an api
cached verb dictionary stores the following as a list:
- name of the API
- params (list of args)
- docstring

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-06 14:28:39 +05:30
Rohit Yadav
00d5c3f35c cli: fix help and doc strings, comments
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-06 14:28:39 +05:30
Rohit Yadav
c10eeb6036 cli: strip args else this fails on parsing
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
64907c1da4 cli: fix parsing args
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
c444bb3811 cli: don't get the required list as params
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
98d341d932 cli: add grammar to class
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
94649491be cli: fix color parsing
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
8c12f49dbe cli: fix intro message
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:03 +05:30
Rohit Yadav
5611a8eda2 cli: add logic to complete api parameters and use caching to optimize runtime
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 21:59:02 +05:30
Rohit Yadav
49b4786de6 cli: don't search rule in apis, filter apis that start with that rule
Search verb in apis takes more time than filtering out apis that start with
that verb from the grammar.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 18:15:48 +05:30
Rohit Yadav
46ad8d6f4e cli: remind user to set host, port too
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-05 18:15:47 +05:30
Rohit Yadav
51a5377d05 cli: add more verbs to grammar
Adds additional verbs to grammar of cli

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-11-01 14:12:08 +05:30
Rohit Yadav
2ceaa3911e cli: cloudmonkey the command line interface
cloudmonkey
-----------
Apache CloudStack's very own monkey powered command line interface based on Marvin.
The neglected robot and monkey should rule the world!

Features:
- it's a shell and also a terminal tool
- scalable to find and run old and new APIs
- intuitive grammar and verbs
- autocompletion (functional hack)
- shell execution using ! or shell
- cfg support: user defined variables, like prompt, ruler, host, port etc.
- history
- colors
- dynamic API loading and rule generation
- leverages Marvin to get latest autogenerated APIs
- emacs like shortcuts on prompt
- uses apiKey and secretKey to interact with mgmt server
- logs all client commands
- PEP-8 compliant code

TODOs:
- Reverse search
- Fix input and output processing

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-10-31 23:19:14 +05:30