mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-26 17:25:22 +03:00
cli: Only use regex matching if the subopt contains [
If we use regex matching all the time, we can erroneously match certain strings. This already let some cli regressions through with recent patches.
This commit is contained in:
parent
384607e502
commit
61639d9b14
@ -541,7 +541,7 @@ vcpus.vcpu1.id=2,vcpus.vcpu1.enabled=yes
|
||||
--input type=keyboard,bus=usb
|
||||
--input tablet
|
||||
|
||||
--serial tcp,host=:2222,mode=bind,protocol=telnet,log_file=/tmp/foo.log,log_append=yes,,target.model.name=pci-serial
|
||||
--serial tcp,host=:2222,mode=bind,protocol=telnet,log.file=/tmp/foo.log,log.append=yes,,target.model.name=pci-serial
|
||||
--serial nmdm,source.master=/dev/foo1,source.slave=/dev/foo2,alias.name=testalias7
|
||||
--parallel udp,host=0.0.0.0:1234,bind_host=127.0.0.1:1234
|
||||
--parallel unix,path=/tmp/foo-socket,source.seclabel0.model=none,source.seclabel1.model=dac,source.seclabel1.relabel=yes,source.seclabel1.label=foobar,source.seclabel.relabel=no
|
||||
|
@ -956,14 +956,18 @@ class _VirtCLIArgumentStatic(object):
|
||||
def nonregex_cliname(self):
|
||||
return self.cliname.replace("[0-9]*", "")
|
||||
|
||||
def match_name(self, cliname):
|
||||
def match_name(self, userstr):
|
||||
"""
|
||||
Return True if the passed argument name matches this
|
||||
Return True if the passed user string matches this
|
||||
VirtCLIArgument. So for an option like --foo bar=X, this
|
||||
checks if we are the parser for 'bar'
|
||||
"""
|
||||
for argname in [self.cliname] + util.listify(self.aliases):
|
||||
if re.match("^%s$" % argname, cliname):
|
||||
for cliname in [self.cliname] + util.listify(self.aliases):
|
||||
if "[" in cliname:
|
||||
ret = re.match("^%s$" % cliname.replace(".", r"\."), userstr)
|
||||
else:
|
||||
ret = (cliname == userstr)
|
||||
if ret:
|
||||
return True
|
||||
return False
|
||||
|
||||
@ -2914,10 +2918,10 @@ class ParserNetwork(VirtCLIParser):
|
||||
|
||||
"virtualport.type": "virtualport_type",
|
||||
"virtualport.parameters.managerid": "virtualport_managerid",
|
||||
"virtualport.parameters.typeid": "virtualport.typeid",
|
||||
"virtualport.parameters.typeidversion": "virtualport.typeidversion",
|
||||
"virtualport.parameters.instanceid": "virtualport.instanceid",
|
||||
"virtualport.parameters.profileid": "virtualport.profileid",
|
||||
"virtualport.parameters.typeid": "virtualport_typeid",
|
||||
"virtualport.parameters.typeidversion": "virtualport_typeidversion",
|
||||
"virtualport.parameters.instanceid": "virtualport_instanceid",
|
||||
"virtualport.parameters.profileid": "virtualport_profileid",
|
||||
"virtualport.parameters.interfaceid": "virtualport_interfaceid",
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user