import main from yaml import dump class RelayCommand: def __init__(self, *args): self.relay(*args) def relay(self, addr, authed, data, obj, spl, success, failure, info, incUsage, length): if authed: if length == 7: if spl[1] == "add": if spl[2] not in main.network.keys(): failure("No such network: %s" % spl[2]) return if not spl[4].isdigit(): failure("Port must be an integer, not %s" % spl[4]) return else: id, alias = main.network[spl[2]].add_relay(spl[3], spl[4], spl[5], spl[6]) success("Successfully created relay %s on network %s with alias %s" % (str(id), spl[2], alias)) main.saveConf("network") return else: incUsage("relay") return elif length == 4: if spl[1] == "del": if spl[2] not in main.network.keys(): failure("No such network: %s" % spl[2]) return if int(spl[3]) not in main.network[spl[2]].relays.keys(): failure("No such relay: %s on network %s" % (spl[3], spl[2])) return main.network[spl[2]].delete_relay(int(spl[3])) success("Successfully deleted relay %s on network %s" % (spl[3], spl[2])) main.saveConf("network") return else: incUsage("relay") return elif length == 3: if spl[1] == "list": if spl[2] not in main.network.keys(): failure("No such network: %s" % spl[2]) return info(dump(main.network[spl[2]].relays)) return else: incUsage("relay") return else: incUsage("relay") return else: incUsage(None)