wesnoth_addon_manager: exit gracefully when removing a non-existing add-on
This commit is contained in:
parent
81f72539d9
commit
f0413a1172
2 changed files with 8 additions and 1 deletions
|
@ -303,6 +303,8 @@ class CampaignClient:
|
|||
return data2
|
||||
|
||||
def decode_WML(self, data):
|
||||
if data is None:
|
||||
return None
|
||||
p = wmlparser.Parser()
|
||||
p.parse_binary(data)
|
||||
return p.root
|
||||
|
@ -341,6 +343,8 @@ class CampaignClient:
|
|||
passphrase = passphrase)
|
||||
|
||||
self.send_packet(self.make_packet(request))
|
||||
|
||||
# if a missing add-on is specified read_packet returns None
|
||||
return self.decode(self.read_packet())
|
||||
|
||||
def change_passphrase(self, name, old, new):
|
||||
|
|
|
@ -303,7 +303,10 @@ if __name__ == "__main__":
|
|||
elif args.remove:
|
||||
cs = CampaignClient(address, secure=args.secure, ipv6=args.ipv6)
|
||||
data = cs.delete_campaign(*args.remove)
|
||||
print_messages(data)
|
||||
if data is None:
|
||||
print("Failed to remove add-on '{}'.".format(args.remove[0]), file=sys.stderr)
|
||||
else:
|
||||
print_messages(data)
|
||||
|
||||
elif args.change_passphrase:
|
||||
cs = CampaignClient(address, secure=args.secure, ipv6=args.ipv6)
|
||||
|
|
Loading…
Add table
Reference in a new issue