def write(self):
''' write to file '''
if not self.filename:
raise YeditException('Please specify a filename.')
if self.backup and self.file_exists():
shutil.copy(self.filename, self.filename + '.orig')
tmp_filename = self.filename + '.yedit'
try:
with open(tmp_filename, 'w') as yfd:
yml_dump = yaml.safe_dump(self.yaml_dict, default_flow_style=False)
for line in yml_dump.strip().split('\n'):
if '{{' in line and '}}' in line:
yfd.write(line.replace("'{{", '"{{').replace("}}'", '}}"') + '\n')
else:
yfd.write(line + '\n')
except Exception as err:
raise YeditException(err.message)
os.rename(tmp_filename, self.filename)
return (True, self.yaml_dict)
评论列表
文章目录