def get_ssid_associate_connections(self, ssid):
     '''return wireless connection objects have the given ssid'''
     try:
         return filter(lambda x: TypeConvert.ssid_ascii2string(x.settings_dict["802-11-wireless"]["ssid"]) == ssid, 
                   self.get_wireless_connections())
     except:
         return []
    def run(self):
        for conn in self.conns:
            if self.run_flag:
                ssid = TypeConvert.ssid_ascii2string(conn.settings_dict["802-11-wireless"]["ssid"])
                if ssid in self.device.get_ssid_record():
                    try:
                        specific = self.device.get_ap_by_ssid(ssid)
                        nmclient = get_cache().getobject("/org/freedesktop/NetworkManager")
                        active_conn = nmclient.activate_connection(conn.object_path, self.device.object_path, specific.object_path)
                        while(active_conn.get_state() == 1 and self.run_flag):
                            time.sleep(1)

                        if active_conn.get_state() == 2:
                            self.stop_run()
                            return True
                        else:
                            continue
                    except:
                        pass
                else:
                    continue
            else:
                return False

        self.stop_run()
Пример #3
0
    def run(self):
        for conn in self.conns:
            if self.run_flag:
                ssid = TypeConvert.ssid_ascii2string(
                    conn.settings_dict["802-11-wireless"]["ssid"])
                if ssid in self.device.get_ssid_record():
                    try:
                        specific = self.device.get_ap_by_ssid(ssid)
                        nmclient = get_cache().getobject(
                            "/org/freedesktop/NetworkManager")
                        active_conn = nmclient.activate_connection(
                            conn.object_path, self.device.object_path,
                            specific.object_path)
                        while (active_conn.get_state() == 1 and self.run_flag):
                            time.sleep(1)

                        if active_conn.get_state() == 2:
                            self.stop_run()
                            return True
                        else:
                            continue
                    except:
                        pass
                else:
                    continue
            else:
                return False

        self.stop_run()
    def active_ssid_connection(self, ssid):
        '''try only one connection now'''
        if get_cache().getobject(self.object_path).is_active():
            conn = get_cache().getobject(self.object_path).get_active_connection().get_connection()
            if TypeConvert.ssid_ascii2string(conn.settings_dict["802-11-wireless"]["ssid"])== ssid:
                return None
        else:
            pass

        nm_remote_settings = get_cache().getobject("/org/freedesktop/NetworkManager/Settings")
        connections = nm_remote_settings.get_ssid_associate_connections(ssid)
        #print connections, "active ssid connection"
        if connections:
            conn = sorted(connections, key = lambda x: int(nm_remote_settings.cf.get("conn_priority", x.settings_dict["connection"]["uuid"])), 
                    reverse = True)[0]
            try:
                specific = self.get_ap_by_ssid(ssid)
                nmclient = get_cache().getobject("/org/freedesktop/NetworkManager")
                nmclient.activate_connection(conn.object_path, self.object_path, specific.object_path)
                if get_cache().getobject(self.object_path).is_active():
                    return None
                else:
                    return conn
            except:
                return conn
        else:
            return nm_remote_settings.new_wireless_connection(ssid, None)
 def get_ssid_not_associate_connections(self, ssid):
     try:
         return filter(
             lambda x: TypeConvert.ssid_ascii2string(x.settings_dict[
                 "802-11-wireless"]["ssid"]) != ssid,
             self.get_wireless_connections())
     except:
         return []
 def get_ssid_associate_connections(self, ssid):
     '''return wireless connection objects have the given ssid'''
     try:
         return filter(
             lambda x: TypeConvert.ssid_ascii2string(x.settings_dict[
                 "802-11-wireless"]["ssid"]) == ssid,
             self.get_wireless_connections())
     except:
         return []
Пример #7
0
    def active_ssid_connection(self, ssid):
        '''try only one connection now'''
        if get_cache().getobject(self.object_path).is_active():
            conn = get_cache().getobject(
                self.object_path).get_active_connection().get_connection()
            if TypeConvert.ssid_ascii2string(
                    conn.settings_dict["802-11-wireless"]["ssid"]) == ssid:
                return None
        else:
            pass

        nm_remote_settings = get_cache().getobject(
            "/org/freedesktop/NetworkManager/Settings")
        connections = nm_remote_settings.get_ssid_associate_connections(ssid)
        #print connections, "active ssid connection"
        if connections:
            conn = sorted(connections,
                          key=lambda x: int(
                              nm_remote_settings.cf.get(
                                  "conn_priority", x.settings_dict["connection"
                                                                   ]["uuid"])),
                          reverse=True)[0]
            try:
                specific = self.get_ap_by_ssid(ssid)
                nmclient = get_cache().getobject(
                    "/org/freedesktop/NetworkManager")
                nmclient.activate_connection(conn.object_path,
                                             self.object_path,
                                             specific.object_path)
                if get_cache().getobject(self.object_path).is_active():
                    return None
                else:
                    return conn
            except:
                return conn
        else:
            return nm_remote_settings.new_wireless_connection(ssid, None)
 def get_ssid(self):
     if self.properties["Ssid"]:
         return TypeConvert.ssid_ascii2string(self.properties["Ssid"])
     else:
         return None
 def get_ssid_not_associate_connections(self, ssid):
     try:
         return filter(lambda x: TypeConvert.ssid_ascii2string(x.settings_dict["802-11-wireless"]["ssid"]) != ssid, 
                     self.get_wireless_connections())
     except:
         return []
 def get_ssid (self):
     if self.properties["Ssid"]:
         return TypeConvert.ssid_ascii2string(self.properties["Ssid"])
     else:
         return None