From d2dadbaf460006e6e55755adbb63ff0401f4dc09 Mon Sep 17 00:00:00 2001 From: Goffi Date: Thu, 29 Mar 2018 08:59:38 +0200 Subject: [PATCH] jp (base): add --max option: when MULTI_ITEMS is set, --max options is automatically added, except if NO_MAX flag is set. --- frontends/src/jp/base.py | 3 +++ frontends/src/jp/cmd_blog.py | 1 - frontends/src/jp/cmd_pubsub.py | 3 +-- frontends/src/jp/constants.py | 1 + 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frontends/src/jp/base.py b/frontends/src/jp/base.py index 44f47754..d6ee6a62 100644 --- a/frontends/src/jp/base.py +++ b/frontends/src/jp/base.py @@ -353,6 +353,9 @@ class Jp(object): elif flags.multi_items: # mutiple items pubsub_group.add_argument("-i", "--item", type=unicode_decoder, action='append', dest='items', default=[], help=_(u"items to retrieve (DEFAULT: all)")) + if not flags.no_max: + pubsub_group.add_argument("-m", "--max", type=int, default=10, + help=_(u"maximum number of items to get ({no_limit} to get all items)".format(no_limit=C.NO_LIMIT))) if flags: raise exceptions.InternalError('unknowns flags: {flags}'.format(flags=u', '.join(flags))) diff --git a/frontends/src/jp/cmd_blog.py b/frontends/src/jp/cmd_blog.py index 46d1a9bd..55e20f44 100644 --- a/frontends/src/jp/cmd_blog.py +++ b/frontends/src/jp/cmd_blog.py @@ -168,7 +168,6 @@ class Get(base.CommandBase): self.need_loop=True def add_parser_options(self): - self.parser.add_argument("-m", "--max", type=int, default=10, help=_(u"maximum number of items to get ({} to get all items)".format(C.NO_LIMIT))) # TODO: a key(s) argument to select keys to display self.parser.add_argument("-k", "--key", type=base.unicode_decoder, action='append', dest='keys', help=_(u"microblog data key(s) to display (default: depend of verbosity)")) diff --git a/frontends/src/jp/cmd_pubsub.py b/frontends/src/jp/cmd_pubsub.py index e1d233ba..5bf3765e 100644 --- a/frontends/src/jp/cmd_pubsub.py +++ b/frontends/src/jp/cmd_pubsub.py @@ -528,7 +528,6 @@ class Get(base.CommandBase): def add_parser_options(self): self.parser.add_argument("-S", "--sub-id", type=base.unicode_decoder, default=u'', help=_(u"subscription id")) - self.parser.add_argument("-m", "--max", type=int, default=10, help=_(u"maximum number of items to get ({} to get all items)".format(C.NO_LIMIT))) # TODO: a key(s) argument to select keys to display # TODO: add MAM filters @@ -742,7 +741,7 @@ class Search(base.CommandBase): EXEC_ACTIONS = (u'exec', u'external') def __init__(self, host): - base.CommandBase.__init__(self, host, 'search', use_output=C.OUTPUT_XML, use_pubsub=True, pubsub_flags={C.MULTI_ITEMS}, + base.CommandBase.__init__(self, host, 'search', use_output=C.OUTPUT_XML, use_pubsub=True, pubsub_flags={C.MULTI_ITEMS, C.NO_MAX}, use_verbose=True, help=_(u'search items corresponding to filters')) self.need_loop=True diff --git a/frontends/src/jp/constants.py b/frontends/src/jp/constants.py index 6f1d231d..f58bbab7 100644 --- a/frontends/src/jp/constants.py +++ b/frontends/src/jp/constants.py @@ -41,6 +41,7 @@ class Const(constants.Const): NODE = u'node' # node required SINGLE_ITEM = u'single_item' # only one item is allowed MULTI_ITEMS = u'multi_items' # multiple items are allowed + NO_MAX = u'no_max' # don't add --max option for multi items # ANSI A_HEADER = A.BOLD + A.FG_YELLOW