Home | History | Annotate | Download | only in ap_configurators
      1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 """Subclass of the LinksysAPConfigurator."""
      6 
      7 import ap_spec
      8 import linksys_ap_configurator
      9 
     10 
     11 class LinksysAP15Configurator(linksys_ap_configurator.LinksysAPConfigurator):
     12     """Derived class to control Linksys WRT54G2 1.5 router."""
     13 
     14     def _set_mode(self, mode):
     15         # Create the mode to popup item mapping
     16         mode_mapping = {ap_spec.MODE_B: 'B-Only', ap_spec.MODE_G: 'G-Only',
     17                         ap_spec.MODE_B | ap_spec.MODE_G: 'Mixed',
     18                         'Disabled': 'Disabled'}
     19         mode_name = mode_mapping.get(mode)
     20         if not mode_name:
     21             raise RuntimeError('The mode selected %d is not supported by router'
     22                                ' %s.', hex(mode), self.name)
     23         xpath = ('//select[@name="wl_net_mode"]')
     24         self.select_item_from_popup_by_xpath(mode_name, xpath)
     25 
     26 
     27     def _set_visibility(self, visible=True):
     28         self._set_radio(enabled=True)
     29         int_value = 0 if visible else 1
     30         xpath = ('//input[@value="%d" and @name="wl_closed"]' % int_value)
     31         self.click_button_by_xpath(xpath)
     32