"""
Dictionary statics calculator
"""
import json
import pdb

_PATH_SEP = "|"

class DictionaryCounter(object):
    """
    Class will create a statics summary of all dictionaries in a passed.
    Pass in dictionary objects with the __call__ method

    Args:
        method["simple"]: does a simple count on wether the item exists in the
                passed in dictionary. "complex" will return aggreated counts
                of the items for the dictionary, i.e.
                Example for {'x': [1,2,3]}
                    simple: {'x': 1}
                    complex: {'x': 3}
        sub_total: the sting path to use for aggregateing subtotals
                Example for {'x': {'y': 'hello'} and {'x': {'y': 'bye'} the
                    path 'x|y' would create subtotal value for 'hello' and
                    'bye'
        list_blank: records dictionarys that are missing a value for the path
                assigned in this attribute. use the same path format as