From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id C464BA317C for ; Thu, 17 Oct 2019 14:58:48 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BC0971E97F; Thu, 17 Oct 2019 14:58:48 +0200 (CEST) Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by dpdk.org (Postfix) with ESMTP id 464621E97F for ; Thu, 17 Oct 2019 14:58:45 +0200 (CEST) Received: by mail-pf1-f171.google.com with SMTP id b128so1635325pfa.1 for ; Thu, 17 Oct 2019 05:58:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=r9D0xkXV+TyAbwWSQP19Qz2Dtnw+wGql4XIFRMYihfA=; b=Uq66xTeQq0qGF9MvClOcg7zSrcp8ato2hawcX/sWeuOB6ebtjYbBaVugRkwG26BVv4 OrQjtyorTUG6/Yq65AgE15irsT9NNepkOpewyYrYU/c/3QY5U5PKIJne33TcW3SnKYbo ++EEt3ulJagW4/sdBQaaJHQD6mcq9WVOokUcfGRyc43v7vxdtWhRnqyWp5UDoSOEqsyC Qzvo2wVdgjuTbCHzfdQdcWKVkiAIwLZosDSxGySBbymA1+fZXKfW2FH1vYBPeKRRVjNX Pxo++E5+enEE56UH6bdJNQNR0M8OnavA3xY1we8o29SjpvYQCBvcoJ9snnfbK7BPssak 8MzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=r9D0xkXV+TyAbwWSQP19Qz2Dtnw+wGql4XIFRMYihfA=; b=eetRw38qSlR0GZyNseuSfZCA31bAK2OIddxEc8k5X/+U/iNNYpzOK3EkNZnn34ORsv xYYdZRRykrr3VFQFpTWktd+R1jRfzH0G8CWZJZ7tbncalWTl1c8KmqNrpXOhaWy/5hUy p4sn9ePOgWMkOYbGo4QPcPSAnv5CEiAd65CGoL70VjanDFVP09omCQqfdAX8EYnImdk9 MaFVyZWa3CmUOQqQSfg+iouAZCV6RvhGN3UvYpO+7SvshwMIO/4FLZhU1yXlX8jI5bBa iE7yVs3+TgBwD0ulPXpHsaFBGB0DNMrmkZca9thkd36i9bISWZYo1eLNImNmxH1G2cb6 FQZA== X-Gm-Message-State: APjAAAUy8VvGkW9dvstdOHk9dnPiwenMI80FOMlvLFpAeNHeELyQYdY0 wkuU7q2cdJB2FmhfOT68YYwULNaamqs= X-Google-Smtp-Source: APXvYqzvI/c78mgiYkWMZySoPtJcjn8mi0MVFxzMe4q229T1zwgGgKnGQUmTtUHPdVt4N4NvkLvAIg== X-Received: by 2002:a63:1316:: with SMTP id i22mr4197070pgl.238.1571317124304; Thu, 17 Oct 2019 05:58:44 -0700 (PDT) Received: from localhost.localdomain ([192.47.164.146]) by smtp.gmail.com with ESMTPSA id b4sm2352585pju.16.2019.10.17.05.58.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 17 Oct 2019 05:58:43 -0700 (PDT) From: yasufum.o@gmail.com To: spp@dpdk.org, ferruh.yigit@intel.com, yasufum.o@gmail.com Date: Thu, 17 Oct 2019 21:58:36 +0900 Message-Id: <20191017125836.29365-3-yasufum.o@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191017125836.29365-1-yasufum.o@gmail.com> References: <20191017125836.29365-1-yasufum.o@gmail.com> Subject: [spp] [PATCH 2/2] cli: fix bug of completion in del command X-BeenThere: spp@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Soft Patch Panel List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: spp-bounces@dpdk.org Sender: "spp" From: Yasufumi Ogawa In `pri` and `nfv` commands, `del` subcommand supports TAB completion for candidate ports for deleting. However, inappropriate ports are suggested because of bug for selecting the candidates. This update is fix this issue. Signed-off-by: Yasufumi Ogawa --- src/cli/commands/nfv.py | 19 +++++++++++-------- src/cli/commands/pri.py | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/cli/commands/nfv.py b/src/cli/commands/nfv.py index 3bf4148..6349823 100644 --- a/src/cli/commands/nfv.py +++ b/src/cli/commands/nfv.py @@ -227,10 +227,11 @@ class SppNfv(object): def _compl_del(self, sub_tokens): """Complete `del` command.""" + res = [] # Del command consists of two tokens max, for instance, # `nfv 1; del ring:1`. if len(sub_tokens) < 3: - res = [] + tmp_ary = [] if self.use_cache is False: self.ports, self.patches = self._get_ports_and_patches() @@ -241,18 +242,20 @@ class SppNfv(object): # Remove ports already used from candidate. for kw in self.ports: if not (kw in patched_ports): - if kw.startswith(sub_tokens[1]): + if sub_tokens[1] == '': + tmp_ary.append(kw) + elif kw.startswith(sub_tokens[1]): if ':' in sub_tokens[1]: # exp, 'ring:' or 'ring:0' - res.append(kw.split(':')[1]) + tmp_ary.append(kw.split(':')[1]) else: - res.append(kw) + tmp_ary.append(kw) # Physical port cannot be removed. - for p in res: - if p.startswith('phy:'): - res.remove(p) + for p in tmp_ary: + if not p.startswith('phy:'): + res.append(p) - return res + return res def _compl_patch(self, sub_tokens): """Complete `patch` command.""" diff --git a/src/cli/commands/pri.py b/src/cli/commands/pri.py index f4cda74..bee0d81 100644 --- a/src/cli/commands/pri.py +++ b/src/cli/commands/pri.py @@ -569,10 +569,11 @@ class SppPrimary(object): def _compl_del(self, sub_tokens): """Complete `del` command.""" + res = [] # Del command consists of two tokens max, for instance, # `nfv 1; del ring:1`. if len(sub_tokens) < 3: - res = [] + tmp_ary = [] self.ports, self.patches = self._get_ports_and_patches() @@ -582,18 +583,20 @@ class SppPrimary(object): # Remove ports already used from candidate. for kw in self.ports: if not (kw in patched_ports): - if kw.startswith(sub_tokens[1]): + if sub_tokens[1] == '': + tmp_ary.append(kw) + elif kw.startswith(sub_tokens[1]): if ':' in sub_tokens[1]: # exp, 'ring:' or 'ring:0' - res.append(kw.split(':')[1]) + tmp_ary.append(kw.split(':')[1]) else: - res.append(kw) + tmp_ary.append(kw) # Physical port cannot be removed. - for p in res: - if p.startswith('phy:'): - res.remove(p) + for p in tmp_ary: + if not p.startswith('phy:'): + res.append(p) - return res + return res # TODO(yasufum): consider to merge nfv's. def _compl_patch(self, sub_tokens): -- 2.17.1