summaryrefslogtreecommitdiff
path: root/cloudinit/mergers/str.py
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@gmail.com>2012-11-22 19:45:43 -0800
committerJoshua Harlow <harlowja@gmail.com>2012-11-22 19:45:43 -0800
commit3941466b3e065c9ce7bb7500e41f464993861672 (patch)
tree152ff7635217238d1ee562fd72df688c4c924599 /cloudinit/mergers/str.py
parent180e83b20aa02dc9df903fa7e31121dd49a49b3a (diff)
downloadvyos-cloud-init-3941466b3e065c9ce7bb7500e41f464993861672.tar.gz
vyos-cloud-init-3941466b3e065c9ce7bb7500e41f464993861672.zip
Allow mergers to take options.
Diffstat (limited to 'cloudinit/mergers/str.py')
-rw-r--r--cloudinit/mergers/str.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/cloudinit/mergers/str.py b/cloudinit/mergers/str.py
index 7c3fa585..14bc46ec 100644
--- a/cloudinit/mergers/str.py
+++ b/cloudinit/mergers/str.py
@@ -18,11 +18,17 @@
class Merger(object):
- def __init__(self, merger):
- pass
+ def __init__(self, merger, opts):
+ self._append = 'append' in opts
def _on_unicode(self, value, merge_with):
return self._on_str(value, merge_with)
def _on_str(self, value, merge_with):
- return value
+ if not self._append:
+ return value
+ else:
+ if isinstance(value, (unicode)):
+ return value + unicode(merge_with)
+ else:
+ return value + str(merge_with)