wesnoth_addon_manager: exit gracefully when removing a non-existing add-on

This commit is contained in:
Elvish_Hunter 2023-03-21 23:08:32 +01:00
parent 81f72539d9
commit f0413a1172
2 changed files with 8 additions and 1 deletions

View file

@ -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):

View file

@ -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)