'Remove empty facts
Args:
facts (dict): facts to clean'

def remove_empty_facts(self, facts=None):

    facts_to_remove = []
    for (fact, value) in iteritems(facts):
        if isinstance(facts[fact], dict):
            facts[fact] = self.remove_empty_facts(facts[fact])
        elif ((value == '') or (value == ['']) or (value is None)):
            facts_to_remove.append(fact)
    for fact in facts_to_remove:
        del facts[fact]
    return facts
