def post(self): _log.debug('configuration set: %s', self.request) _log.debug('body: %s', self.request.body) # parse request arguments = parse_qs_bytes(self.request.body, keep_blank_values=False) _log.debug('arguments: %s', arguments) if arguments.has_key('assigned_rig') and arguments['assigned_rig'][0]: rig = arguments['assigned_rig'][0] _log.debug('set assigned rig to: %s', rig) else: rig = None if (self.app.mode == self.app.MODE_KR) and arguments['controll_aladin'][0]: aladin = self.aladin_modes_post[arguments['controll_aladin'][0]] def get_arg(arg): if arguments.has_key(arg): return arguments[arg][0] else: return None # services in need of reload need_reload = [] config = ConfigLoader() if rig != config.get_system(): config.set_system(rig) # reload controller service need_reload.append(ServiceReloader.SERVICE_CONTROLLER) if self.app.mode == self.app.MODE_KR: if aladin != config.get_aladin(): config.set_aladin(aladin) need_reload.append(ServiceReloader.SERVICE_SERVO) # update configuration file config.write() if need_reload: _log.info('services needing reload: %s', need_reload) ServiceReloader.reload(need_reload) _log.info('reload complete') self.redirect('/?config_applied=1')
def post(self): _log.debug('configuration set: %s' , self.request) _log.debug('body: %s', self.request.body) # parse request arguments = parse_qs_bytes(self.request.body, keep_blank_values=False) _log.debug('arguments: %s', arguments) if arguments.has_key('assigned_rig') and arguments['assigned_rig'][0]: rig = arguments['assigned_rig'][0] _log.debug('set assigned rig to: %s', rig) else: rig = None if (self.app.mode == self.app.MODE_KR) and arguments['controll_aladin'][0]: aladin = self.aladin_modes_post[arguments['controll_aladin'][0]] def get_arg(arg): if arguments.has_key(arg): return arguments[arg][0] else: return None # services in need of reload need_reload = [] config = ConfigLoader() if rig != config.get_system(): config.set_system(rig) # reload controller service need_reload.append(ServiceReloader.SERVICE_CONTROLLER) if self.app.mode == self.app.MODE_KR: if aladin != config.get_aladin(): config.set_aladin(aladin) need_reload.append(ServiceReloader.SERVICE_SERVO) # update configuration file config.write() if need_reload: _log.info('services needing reload: %s', need_reload) ServiceReloader.reload(need_reload) _log.info('reload complete') self.redirect('/?config_applied=1')
def post(self): _log.debug('configuration set: %s', self.request) _log.debug('body: %s', self.request.body) # parse request arguments = parse_qs_bytes(self.request.body, keep_blank_values=False) _log.debug('arguments: %s', arguments) wired_config = {} wireless_config = {} def get_ip_config(prefix): if arguments.has_key(prefix + '_ipv4_method'): method = arguments[prefix + '_ipv4_method'][0].lower() if method not in ['dhcp', 'static']: # incorrect method # TODO: raise exception _log.error('incorrect method: %s', method) ipv4_config = {'method': method} static_method_keys = [ prefix + '_ipv4_address', prefix + '_ipv4_netmask', prefix + '_ipv4_gateway' ] if method == 'static': if all([arguments.has_key(k) for k in static_method_keys]) == False: # missing confgiuration # TODO: raise exception _log.error('incorrect network configuration: %s', arguments) else: ipv4_config['address'] = arguments[prefix + '_ipv4_address'][0] ipv4_config['netmask'] = arguments[prefix + '_ipv4_netmask'][0] ipv4_config['gateway'] = arguments[prefix + '_ipv4_gateway'][0] return ipv4_config else: # TODO: raise exception _log.error('IPv4 method not specified in arguments: %s', arguments) return None wired_config['ipv4'] = get_ip_config('eth') wireless_config['ipv4'] = get_ip_config('wifi') def get_arg(arg): if arguments.has_key(arg): return arguments[arg][0] else: return None wireless_config['name'] = get_arg('wifi_ap_name') wireless_config['password'] = get_arg('wifi_psk_pass') net = network_provider() net_config = { 'wired': [wired_config], } if self.app.mode == self.app.MODE_KR: net_config['wireless'] = [wireless_config] net.set_config(net_config) config = ConfigLoader() config.write() self.redirect('/?config_applied=1')
def post(self): _log.debug('configuration set: %s' , self.request) _log.debug('body: %s', self.request.body) # parse request arguments = parse_qs_bytes(self.request.body, keep_blank_values=False) _log.debug('arguments: %s', arguments) wired_config = {} wireless_config = {} def get_ip_config(prefix): if arguments.has_key(prefix + '_ipv4_method'): method = arguments[prefix + '_ipv4_method'][0].lower() if method not in ['dhcp', 'static']: # incorrect method # TODO: raise exception _log.error('incorrect method: %s', method) ipv4_config = { 'method': method } static_method_keys = [prefix + '_ipv4_address', prefix + '_ipv4_netmask', prefix + '_ipv4_gateway'] if method == 'static': if all([arguments.has_key(k) for k in static_method_keys]) == False: # missing confgiuration # TODO: raise exception _log.error('incorrect network configuration: %s', arguments) else: ipv4_config['address'] = arguments[prefix + '_ipv4_address'][0] ipv4_config['netmask'] = arguments[prefix + '_ipv4_netmask'][0] ipv4_config['gateway'] = arguments[prefix + '_ipv4_gateway'][0] return ipv4_config else: # TODO: raise exception _log.error('IPv4 method not specified in arguments: %s', arguments) return None wired_config['ipv4'] = get_ip_config('eth') wireless_config['ipv4'] = get_ip_config('wifi') def get_arg(arg): if arguments.has_key(arg): return arguments[arg][0] else: return None wireless_config['name'] = get_arg('wifi_ap_name') wireless_config['password'] = get_arg('wifi_psk_pass') net = network_provider() net_config = { 'wired': [wired_config], } if self.app.mode == self.app.MODE_KR: net_config['wireless'] = [wireless_config] net.set_config(net_config) config = ConfigLoader() config.write() self.redirect('/?config_applied=1')