#!/usr/bin/env python ########################################################################## # tagconvert - class for converting tags from one format to another # ########################################################################## # Copyright 2017 Todd Shadburn # # Licensed under the GNU GPL version 2 # ########################################################################## import json class TagConvert(object): def __init__(self, *args, **kwargs): self.tag_dict = {} return def from_dictionary(self, tag_dict, *args, **kwargs): self.tag_dict.update(tag_dict) return def from_aws_tag_list(self, tag_list, *args, **kwargs): for tag in tag_list: self.tag_dict[tag['Key']] = tag['Value'] return def from_json(self, tag_dict, *args, **kwargs): self.tag_dict.update(json.loads(tag_dict)) return def set(self, name=None, value=None, *args, **kwargs): if not name: return None self.tag_dict[name] = value return def get(self, name=None, *args, **kwargs): if not name: return None if not name in self.tag_dict: return None return self.tag_dict[name] def to_single_entity_list(self, *args, **kwargs): tag_list = [] prefix = None separator = '.' if 'prefix' in kwargs: prefix = kwargs['prefix'] if 'separator' in kwargs: separator = kwargs['separator'] for k in self.tag_dict.keys(): if prefix: tag_list.append(separator.join([prefix,k,self.tag_dict[k]])) else: tag_list.append(separator.join([k,self.tag_dict[k]])) return tag_list def to_dictionary(self, *args, **kwargs): return self.tag_dict def to_json(self, *args, **kwargs): return json.dumps(self.tag_dict)