"""Helper functions for configuration parsing"""importcollectionsdefconvert_tokens(tokens):""" This function is called on the token dictionary that is imported from a yaml file. It returns a new dictionary where all strings containing 'None' are converted to a literal None due to a bug in Ansible """iftokens=='None':returnNoneelifisinstance(tokens,basestring)or(notisinstance(tokens,collections.Iterable)):returntokenselifisinstance(tokens,dict):return{convert_tokens(k):convert_tokens(v)fork,vintokens.items()}else:return[convert_tokens(v)forvintokens]