Ticket #10532: cpsection-network-model.patch

File cpsection-network-model.patch, 2.1 KB (added by martin.langhoff, 4 years ago)
  • model.py

    old new  
    9494def set_radio_nm(state): 
    9595    """Turn Radio 'on' or 'off' 
    9696    state : 'on/off' 
    97     """     
     97    """ 
     98    if not state in ('on', 1, 'off', 0): 
     99        raise ValueError(_("Error in specified radio argument use on/off.")) 
     100     
     101    bus = dbus.SystemBus() 
     102    try: 
     103        obj = bus.get_object(_NM_SERVICE, _NM_PATH) 
     104        nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) 
     105        nm = dbus.Interface(obj, _NM_IFACE) 
     106    except dbus.DBusException: 
     107        raise ReadError('%s service not available' % _NM_SERVICE) 
     108         
    98109    if state == 'on' or state == 1: 
    99         bus = dbus.SystemBus() 
    100         try: 
    101             obj = bus.get_object(_NM_SERVICE, _NM_PATH) 
    102             nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) 
    103         except dbus.DBusException: 
    104             raise ReadError('%s service not available' % _NM_SERVICE) 
    105         nm_props.Set(_NM_IFACE, 'WirelessEnabled', True) 
    106     elif state == 'off' or state == 0: 
    107         bus = dbus.SystemBus() 
    108         try: 
    109             obj = bus.get_object(_NM_SERVICE, _NM_PATH) 
    110             nm_props = dbus.Interface(obj, dbus.PROPERTIES_IFACE) 
    111         except dbus.DBusException: 
    112             raise ReadError('%s service not available' % _NM_SERVICE) 
    113         nm_props.Set(_NM_IFACE, 'WirelessEnabled', False) 
     110        newstate = True 
    114111    else: 
    115         raise ValueError(_("Error in specified radio argument use on/off.")) 
     112        newstate = False 
     113         
     114    nm.Enable(newstate) 
     115    nm_props.Set(_NM_IFACE, 'WirelessEnabled', newstate) 
    116116 
    117117    return 0 
    118118 
     
    157157 
    158158# get current status from rfkill 
    159159def get_radio(): 
    160     return get_radio_rfkill() 
     160    rf_state = get_radio_rfkill() 
     161    nm_state = get_radio_nm() 
     162    if rf_state == 1 and nm_state == 1: 
     163        return 1 
     164    else: 
     165        return 0 
    161166 
    162167# set new status to both the dot-file and rfkill 
    163168def set_radio(state): 
    164169    set_radio_rfkill(state) 
     170    set_radio_nm(state) 
    165171 
    166172def clear_registration(): 
    167173    """Clear the registration with the schoolserver