tools/qvm-prefs: handle invalid properties by catching AttributeError
This may avoid unneded qubesd call (listing properties).
This commit is contained in:
parent
e4c2294ce0
commit
4ffd44da49
@ -98,21 +98,24 @@ def process_actions(parser, args, target):
|
|||||||
else:
|
else:
|
||||||
args.property = args.property.replace('-', '_')
|
args.property = args.property.replace('-', '_')
|
||||||
|
|
||||||
if args.property not in [prop.__name__
|
|
||||||
for prop in target.property_list()]:
|
|
||||||
parser.error('no such property: {!r}'.format(args.property))
|
|
||||||
|
|
||||||
if args.value is not None:
|
if args.value is not None:
|
||||||
|
try:
|
||||||
setattr(target, args.property, args.value)
|
setattr(target, args.property, args.value)
|
||||||
args.app.save()
|
except AttributeError:
|
||||||
|
parser.error('no such property: {!r}'.format(args.property))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if args.delete:
|
if args.delete:
|
||||||
|
try:
|
||||||
delattr(target, args.property)
|
delattr(target, args.property)
|
||||||
args.app.save()
|
except AttributeError:
|
||||||
|
parser.error('no such property: {!r}'.format(args.property))
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
try:
|
||||||
print(str(getattr(target, args.property)))
|
print(str(getattr(target, args.property)))
|
||||||
|
except AttributeError:
|
||||||
|
parser.error('no such property: {!r}'.format(args.property))
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user