def make_persistent(value):
    """Counterpart to make_serializable().
    Recursively turns all dicts and lists into PersistentMappings respectively
    PersistentLists.
    """
    if isinstance(value, dict):
        retval = PersistentMapping()
        retval.update(value)
    elif isinstance(value, list):
        retval = PersistentList()
        for item in value:
            retval.append(item)
    else:
        retval = value
    return retval
Exemple #2
0
def make_persistent(data):
    if isinstance(data, dict):
        new = PersistentMapping()
        for key, value in data.items():
            new[make_persistent(key)] = make_persistent(value)
        return new

    elif isinstance(data, list):
        new = PersistentList()
        for value in data:
            new.append(make_persistent(value))
        return new

    else:
        return data