def _apply_templating_to_file(self, filename, orig_content):
rabbitmq_mapping = self._get_rabbitmq_mapping_for_content(orig_content)
new_content = orig_content
for rabbitmq_key, rabbitmq_val in rabbitmq_mapping.items():
new_content = new_content.replace('{{%s}}' % rabbitmq_key, rabbitmq_val)
if orig_content == new_content:
logger.info('')
logger.info('No templating detected in {}, leaving file as-is'.format(filename))
return orig_content
logger.info('')
logger.info('Applied templating changes to {}:'.format(filename))
logger.info('Template params used:')
rabbitmq_keys = list(rabbitmq_mapping.keys())
rabbitmq_keys.sort()
for key in rabbitmq_keys:
logger.info(' {{%s}} => %s' % (key, rabbitmq_mapping[key]))
logger.info('Resulting diff:')
logger.info('\n'.join(difflib.ndiff(orig_content.split('\n'), new_content.split('\n'))))
return new_content
评论列表
文章目录