def save(self): saved_files = [] for f, settings in self.file_settings: if len(settings) > 2 and settings[2]: saved_files.append(f) settings[1] = Merge.merge(*settings[1:]) while len(settings) > 2: settings.pop() if os.path.exists(f): with open(f, 'r') as fo: data = fo.read().split(Yaml.SEPARATOR)[0] else: data = '' parent = os.path.dirname(f) if not os.path.exists(parent): from echomesh.util import Log Log.logger(__name__).info('Creating directory %s.', parent) os.makedirs(parent) with open(f, 'wb') as fw: if data: fw.write(data) fw.write(Yaml.SEPARATOR) fw.write(Yaml.encode_one(settings[1])) self.arg_settings = Merge.difference_strict( self.arg_settings, self.changed) self.recalculate() return saved_files
def save(self): saved_files = [] for f, settings in self.file_settings: if len(settings) > 2 and settings[2]: saved_files.append(f) settings[1] = Merge.merge(*settings[1:]) while len(settings) > 2: settings.pop() if os.path.exists(f): with open(f, 'r') as fo: data = fo.read().split(Yaml.SEPARATOR)[0] else: data = '' parent = os.path.dirname(f) if not os.path.exists(parent): from echomesh.util import Log Log.logger(__name__).info('Creating directory %s.', parent) os.makedirs(parent) with open(f, 'wb') as fw: if data: fw.write(data) fw.write(Yaml.SEPARATOR) fw.write(Yaml.encode_one(settings[1])) self.arg_settings = Merge.difference_strict(self.arg_settings, self.changed) self.recalculate() return saved_files
def set_config(_, *values): if values: for address, value in Config.assign(*values): LOGGER.info('Set %s=%s', '.'.join(address), value) elif MergeConfig.LOCAL_CHANGES: LOGGER.info(Yaml.encode_one(MergeConfig.LOCAL_CHANGES)) else: LOGGER.info('You have made no changes.')
def set_config(_, *values): if values: assignment = Leafs.leafs(Config.assign(values)) for address, value in six.iteritems(assignment): LOGGER.info('Set %s=%s', '.'.join(address), value) elif Config.MERGE_CONFIG.has_changes(): LOGGER.info(Yaml.encode_one(dict(Config.MERGE_CONFIG.get_changes()))) else: LOGGER.info('You have made no changes.')
def _write(self, data): if self.handler and data: d = Yaml.encode_one(data) self.handler.wfile.write(d) self.handler.wfile.write(Yaml.SEPARATOR) if LOG_ALL_DATA: FILE.write(d) FILE.write(Yaml.SEPARATOR) FILE.flush() self.handler.wfile.flush()
def set_settings(_, *values): if values: assignment = Leafs.leafs(Settings.assign(values)) for address, value in six.iteritems(assignment): LOGGER.info('Set %s=%s', '.'.join(address), value) Settings.update_clients() elif Settings.MERGE_SETTINGS.has_changes(): LOGGER.info( Yaml.encode_one(dict(Settings.MERGE_SETTINGS.get_changes()))) else: LOGGER.info('You have made no changes.')
def _write(self, data): if self.handler and data: d = Yaml.encode_one(data) self.handler.wfile.write(d) self.handler.wfile.write(Yaml.SEPARATOR) if self.debug or LOG_ALL_DATA: _write(d) _write(Yaml.SEPARATOR, True) self.handler.wfile.flush() else: if not self.queue: self.queue = queue.Queue(self.max_queue_size) self.queue.put(data)
def save(self): saved_files = [] for f, configs in self.file_configs: if len(configs) > 2 and configs[2]: saved_files.append(f) configs[1] = Merge.merge(*configs[1:]) while len(configs) > 2: configs.pop() with open(f, 'r') as fo: data = fo.read().split(Yaml.SEPARATOR)[0] with open(f, 'wb') as fw: fw.write(data) fw.write(Yaml.SEPARATOR) fw.write(Yaml.encode_one(configs[1])) self.arg_config = Merge.difference_strict(self.arg_config, self.changed) self.recalculate() return saved_files
def _format(info, spaces=DEFAULT_INDENT): s = Yaml.encode_one(info) LOGGER.info('\n' + DEFAULT_INDENT + s.replace('\n', '\n' + DEFAULT_INDENT))
def _config(_): LOGGER.info('\n' + Yaml.encode_one(Config.get_config()))