def check_setting_finish(self): ###check if user complete his setting, avoid the missing property exception info_dict = TypeConvert.dbus2py(self.settings_dict) try: if info_dict["connection"]["type"] == "802-3-ethernet": return self.is_wired_setting_ok(info_dict) elif info_dict["connection"]["type"] == "802-11-wireless": return self.is_wireless_setting_ok(info_dict) elif info_dict["connection"]["type"] == "pppoe": return self.is_dsl_setting_ok(info_dict) elif info_dict["connection"]["type"] == "vpn": return self.is_vpn_setting_ok(info_dict) elif info_dict["connection"]["type"] == "cdma": return self.is_cdma_setting_ok(info_dict) elif info_dict["connection"]["type"] == "gsm": return self.is_gsm_setting_ok(info_dict) else: return False except: traceback.print_exc()
def check_setting_finish(self): ###check if user complete his setting, avoid the missing property exception info_dict = TypeConvert.dbus2py(self.settings_dict) try: if info_dict["connection"]["type"] == "802-3-ethernet": return self.is_wired_setting_ok(info_dict) elif info_dict["connection"]["type"] == "802-11-wireless": return self.is_wireless_setting_ok(info_dict) elif info_dict["connection"]["type"] == "pppoe": return self.is_dsl_setting_ok(info_dict) elif info_dict["connection"]["type"] == "vpn": return self.is_vpn_setting_ok(info_dict) elif info_dict["connection"]["type"] == "cdma": return self.is_cdma_setting_ok(info_dict) elif info_dict["connection"]["type"] == "gsm": return self.is_gsm_setting_ok(info_dict) else: return False except: traceback.print_exc()
def check_setting_commit(self): ###delete invalid setting property before update for key in self.settings_dict.keys(): for key2 in self.settings_dict[key]: if self.settings_dict[key][key2] == None: self.settings_dict[key][key2] = "" info_dict = TypeConvert.dbus2py(self.settings_dict) try: if info_dict["connection"]["type"] == "802-3-ethernet": if not self.get_setting("802-3-ethernet").wired_valid(): ###or raise exception return False self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "802-11-wireless": self.get_setting("802-11-wireless").adapt_wireless_commit() if "802-11-wireless-security" in info_dict.iterkeys(): self.get_setting("802-11-wireles-security" ).adapt_wireless_security_commit() self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "pppoe": if not self.get_setting("802-3-ethernet").wired_valid(): return False self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "vpn": pass elif info_dict["connection"]["type"] == "cdma": pass elif info_dict["connection"]["type"] == "gsm": pass else: print "invalid connection_type" except: pass
def check_setting_commit(self): ###delete invalid setting property before update for key in self.settings_dict.keys(): for key2 in self.settings_dict[key]: if self.settings_dict[key][key2] == None: self.settings_dict[key][key2] = "" info_dict = TypeConvert.dbus2py(self.settings_dict) try: if info_dict["connection"]["type"] == "802-3-ethernet": if not self.get_setting("802-3-ethernet").wired_valid(): ###or raise exception return False self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "802-11-wireless": self.get_setting("802-11-wireless").adapt_wireless_commit() if "802-11-wireless-security" in info_dict.iterkeys(): self.get_setting("802-11-wireles-security").adapt_wireless_security_commit() self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "pppoe": if not self.get_setting("802-3-ethernet").wired_valid(): return False self.get_setting("ipv4").adapt_ip4config_commit() if "ipv6" in info_dict.iterkeys(): self.get_setting("ipv6").adapt_ip6config_commit() elif info_dict["connection"]["type"] == "vpn": pass elif info_dict["connection"]["type"] == "cdma": pass elif info_dict["connection"]["type"] == "gsm": pass else: print "invalid connection_type" except: pass
def lcp_echo_interval(self): if "lcp-echo-interval" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["lcp-echo-interval"]) else: return 0
def mtu(self): if "mtu" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["mtu"]) else: return 0
def crtscts(self): if "crtscts" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["crtscts"]) else: return False
def read_only(self): if "read-only" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["read-only"]) else: return False
def zone(self): if "zone" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["zone"])
def method(self): if "method" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["method"])
def dhcp_client_id(self): if "dhcp-client-id" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["dhcp-client-id"])
def lcp_echo_failure(self): if "lcp-echo-failure" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["lcp-echo-failure"]) else: return 0
def mtu(self): if "mtu" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["mtu"]) else: return 0
def crtscts(self): if "crtscts" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["crtscts"]) else: return False
def mppe_stateful(self): if "mppe-stateful" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["mppe-stateful"]) else: return False
def require_mppe_128(self): if "require-mppe-128" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["require-mppe-128"]) else: return False
def no_vj_comp(self): if "no-vj-comp" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["no-vj-comp"]) else: return False
def nodeflate(self): if "nodeflate" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["nodeflate"]) else: return False
def channel(self): if "channel" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["channel"]) else: return 0
def routes(self): if "routes" not in self.prop_dict.iterkeys(): self.clear_routes() return map(lambda x: TypeConvert.ip4route_net2native(x), TypeConvert.dbus2py(self.prop_dict["routes"]))
def lcp_echo_interval(self): if "lcp-echo-interval" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["lcp-echo-interval"]) else: return 0
def never_default(self): if "never-default" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["never-default"]) else: return False
def noauth(self): if "noauth" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["noauth"]) else: return True
def timestamp(self): if "timestamp" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["timestamp"]) else: return 0
def refuse_chap(self): if "refuse-chap" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["refuse-chap"]) else: return False
def id(self): if "id" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["id"])
def refuse_mschapv2(self): if "refuse-mschapv2" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["refuse-mschapv2"]) else: return False
def tx_power(self): if "tx-power" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["tx-power"]) else: return 0
def refuse_chap(self): if "refuse-chap" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["refuse-chap"]) else: return False
def baud(self): if "baud" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["baud"]) else: return 0
def nobsdcomp(self): if "nobsdcomp" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["nobsdcomp"]) else: return False
def lcp_echo_failure(self): if "lcp-echo-failure" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["lcp-echo-failure"]) else: return 0
def data(self): if "data" not in self.prop_dict.iterkeys(): self.prop_dict["data"] = dbus.Dictionary({}, signature = dbus.Signature('ss')) return TypeConvert.dbus2py(self.prop_dict["data"])
def noauth(self): if "noauth" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["noauth"]) else: return True
def seen_bssids(self): if "seen-bssids" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py([ TypeConvert.ssid_ascii2string(x) for x in self.prop_dict["seen-bssids"] ])
def refuse_mschapv2(self): if "refuse-mschapv2" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["refuse-mschapv2"]) else: return False
def guess_secret_info(self): '''guess_secret_info''' info_dict = TypeConvert.dbus2py(self.settings_dict) if "vpn" in info_dict.iterkeys(): self.secret_setting_name = "vpn" self.secret_method = "password" return (self.secret_setting_name, self.secret_method) elif "pppoe" in info_dict.iterkeys( ) and "802-3-ethernet" in info_dict.iterkeys(): self.secret_setting_name = "pppoe" self.secret_method = "password" return (self.secret_setting_name, self.secret_method) elif "802-11-wireless" in info_dict.iterkeys(): ###for wireless no password if not "802-11-wireless-security" in info_dict.iterkeys(): self.secret_setting_name = None self.secret_method = None return (self.secret_setting_name, self.secret_method) ###for wireless has password self.secret_setting_name = "802-11-wireless-security" if "key-mgmt" in info_dict["802-11-wireless-security"].iterkeys(): ###for wpa/psk if info_dict["802-11-wireless-security"][ "key-mgmt"] == "wpa-psk": self.secret_method = "psk" return (self.secret_setting_name, self.secret_method) elif info_dict["802-11-wireless-security"][ "key-mgmt"] == "none": ###for wep if "wep-key-type" in info_dict[ "802-11-wireless-security"].iterkeys(): if "wep-tx-keyidx" in info_dict[ "802-11-wireless-security"].iterkeys(): if info_dict["802-11-wireless-security"][ "wep-tx-keyidx"] == 0: self.secret_method = "wep-key0" elif info_dict["802-11-wireless-security"][ "wep-tx-keyidx"] == 1: self.secret_method = "wep-key1" elif info_dict["802-11-wireless-security"][ "wep-tx-keyidx"] == 2: self.secret_method = "wep-key2" elif info_dict["802-11-wireless-security"][ "wep-tx-keyidx"] == 3: self.secret_method = "wep-key3" else: print "unsupported wep key idx" self.secret_method = None return (self.secret_setting_name, self.secret_method) else: ###set default for wep key index self.secret_method = "wep-key0" return (self.secret_setting_name, self.secret_method) else: # print "must have wep-key-type to indicate wep connection" self.secret_method = None return (self.secret_setting_name, self.secret_method) ###for wpa elif info_dict["802-11-wireless-security"][ "key-mgmt"] == "wpa-eap": # print "no agent available for wpa-eap" self.secret_method = None return (self.secret_setting_name, self.secret_method) elif info_dict["802-11-wireless-security"][ "key-mgmt"] == "ieee8021x": if "auth-alg" in info_dict[ "802-11-wireless-security"].iterkeys(): if info_dict["802-11-wireless-security"][ "auth-alg"] == "leap": self.secret_method = "leap-password" return (self.secret_setting_name, self.secret_method) else: # print "no ageent available for dynamic wep" self.secret_method = None return (self.secret_setting_name, self.secret_method) else: # print "unknown key mgmt" self.secret_method = None return (self.secret_setting_name, self.secret_method) else: # print "must have key mgmt for 802.11 wireless security" self.secret_method = None return (self.secret_setting_name, self.secret_method) elif "gsm" in info_dict.iterkeys(): self.secret_setting_name = "gsm" self.secret_method = "password" return (self.secret_setting_name, self.secret_method) elif "cdma" in info_dict.iterkeys(): self.secret_setting_name = "cdma" self.secret_method = "password" return (self.secret_setting_name, self.secret_method) elif "802-3-ethernet" in info_dict.iterkeys(): self.secret_setting_name = None self.secret_method = None return (self.secret_setting_name, self.secret_method) elif "ppp" in info_dict.iterkeys(): self.secret_setting_name = "" self.secret_method = "" return (self.secret_setting_name, self.secret_method) elif "802-1x" in info_dict.iterkeys(): self.secret_setting_name = "" self.secret_method = "" return (self.secret_setting_name, self.secret_method) else: self.secret_setting_name = None self.secret_method = None return (self.secret_setting_name, self.secret_method)
def user_name(self): if "user-name" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["user-name"])
def channel(self): if "channel" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["channel"]) else: return 0
def addresses(self): '''[['10.0.0.206', '255.255.255.0', '10.0.0.1'], ['192.168.1.120', '255.255.255.0', '192.168.1.1']]''' if "addresses" not in self.prop_dict.iterkeys(): self.clear_addresses() return map(lambda x: TypeConvert.ip4address_net2native(x), TypeConvert.dbus2py(self.prop_dict["addresses"]))
def hidden(self): if "hidden" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["hidden"]) else: return False
def ignore_auto_dns(self): if "ignore-auto-dns" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["ignore-auto-dns"]) else: return False
def enumerate_devices(self): return TypeConvert.dbus2py(self.dbus_method("EnumerateDevices"))
def dhcp_hostname(self): if "dhcp-hostname" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["dhcp-hostname"])
def baud(self): if "baud" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["baud"])
def may_fail(self): if "may-fail" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["may-fail"]) else: return True
def parity(self): if "parity" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["parity"])
def dns_search(self): if "dns-search" not in self.prop_dict.iterkeys(): self.clear_dns_search() return TypeConvert.dbus2py(self.prop_dict["dns-search"])
def stopbits(self): if "stopbits" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["stopbits"])
def type(self): if "type" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["type"])
def send_delay(self): if "send-delay" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["send-delay"])
def autoconnect(self): if "autoconnect" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["autoconnect"]) else: return True
def nodeflate(self): if "nodeflate" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["nodeflate"]) else: return False
def master(self): if "master" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["master"])
def require_mppe_128(self): if "require-mppe-128" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["require-mppe-128"]) else: return False
def slave_type(self): if "slave-type" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["slave-type"])
def mppe_stateful(self): if "mppe-stateful" in self.prop_dict.iterkeys(): return TypeConvert.dbus2py(self.prop_dict["mppe-stateful"]) else: return False