diff options
| author | Chad Smith <chad.smith@canonical.com> | 2018-10-03 12:10:23 -0600 |
|---|---|---|
| committer | Chad Smith <chad.smith@canonical.com> | 2018-10-03 12:10:23 -0600 |
| commit | d6347e1c439eda7f43d9620dac2b461e980e1ae9 (patch) | |
| tree | 08410263488d11a2a29edcc620575ed1b028100e /cloudinit/handlers/__init__.py | |
| parent | 564793a76b9c9add1ee81bab4919c8dccd45a33d (diff) | |
| parent | e28000457591bde9f22d6b7a538b1fc33349d780 (diff) | |
| download | vyos-cloud-init-d6347e1c439eda7f43d9620dac2b461e980e1ae9.tar.gz vyos-cloud-init-d6347e1c439eda7f43d9620dac2b461e980e1ae9.zip | |
merge from master at 18.4
Diffstat (limited to 'cloudinit/handlers/__init__.py')
| -rw-r--r-- | cloudinit/handlers/__init__.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/cloudinit/handlers/__init__.py b/cloudinit/handlers/__init__.py index c3576c04..0db75af9 100644 --- a/cloudinit/handlers/__init__.py +++ b/cloudinit/handlers/__init__.py @@ -41,7 +41,7 @@ PART_HANDLER_FN_TMPL = 'part-handler-%03d' # For parts without filenames PART_FN_TPL = 'part-%03d' -# Different file beginnings to there content type +# Different file beginnings to their content type INCLUSION_TYPES_MAP = { '#include': 'text/x-include-url', '#include-once': 'text/x-include-once-url', @@ -52,6 +52,7 @@ INCLUSION_TYPES_MAP = { '#cloud-boothook': 'text/cloud-boothook', '#cloud-config-archive': 'text/cloud-config-archive', '#cloud-config-jsonp': 'text/cloud-config-jsonp', + '## template: jinja': 'text/jinja2', } # Sorted longest first @@ -69,9 +70,13 @@ class Handler(object): def __repr__(self): return "%s: [%s]" % (type_utils.obj_name(self), self.list_types()) - @abc.abstractmethod def list_types(self): - raise NotImplementedError() + # Each subclass must define the supported content prefixes it handles. + if not hasattr(self, 'prefixes'): + raise NotImplementedError('Missing prefixes subclass attribute') + else: + return [INCLUSION_TYPES_MAP[prefix] + for prefix in getattr(self, 'prefixes')] @abc.abstractmethod def handle_part(self, *args, **kwargs): |
