def NetworkSetup(self, ip_address, allow_nat, server_type, caller): self.timer.reset() dprint(ip_address, allow_nat, server_type) if ip_address == "reload": info = netstatus() nc = None if info["ip"] != "0" and not nc_is_running(): if info["type"] == "dnsmasq": nc = NetConfDnsMasq(None) elif info["type"] == "dhcpd": nc = NetConfDhcpd(None) if nc: nc.reload_settings() return self.confirm_authorization(caller, "org.blueman.network.setup") if ip_address == "0": info = netstatus() nc = None try: if info["type"] == "dnsmasq": nc = NetConfDnsMasq(None) elif info["type"] == "dhcpd": nc = NetConfDhcpd(None) except: #fallback nc = NetConf(None) nc.uninstall() else: if ip_chk(ip_address): nc = None if server_type == "dnsmasq": nc = NetConfDnsMasq(ip_address, allow_nat) elif server_type == "dhcpd": nc = NetConfDhcpd(ip_address, allow_nat) if nc: nc.install() else: return dbus.DBusException("IP Invalid")