def recGetter(thing, *keypath):
    """
    For nested dictionaries, just get the damned thing specified by 'keypath',
    no matter how deep it is.
    return None if no such key exists.
    """
    if thing == None: return None
    if type(thing) != dict: return None
    if len(thing.keys()) == 0: return None

    if keypath[0] in thing:
        if len(keypath) > 1:
            return recGetter(thing[keypath[0]], *keypath[1:])
        else:
            return thing[keypath[0]]
    else:
        for t in thing.keys():
            # print(t, keypath)
            response = recGetter(thing[t], *keypath)
            if response != None:
                return response
        return None