dumpcache.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:crm 作者: Incubaid 项目源码 文件源码
def _update_fs(items, data_dir, create=False, update=False, delete=False):
    """
    CREATE OPERATION HANDLING IS CONCERNED ONLY ABOUT ROOT models
    NON ROOT MODEL ITEMS ARE IGNORED

    We don't dump non-root models, since they belong to one root model
    any way and there data will be saved as part of a root model.
    example, if user created a task (non root model) and assigned it to contact
    cached data will look like
    {'changes': {'updated': IdentitySet([<crm.contact.models.Contact object at 0x7f5748a1f5c0>]),
    'deleted': IdentitySet([]),
    'created': IdentitySet([<crm.task.models.Task object at 0x7f574929dba8>])}}
    so Contact object has been updated any way and we'll handle that update add the task in contact data
    in File system.

    :param items: list of model dictionaries that was created
    :param data_dir: where to save files
    :return: newly created file paths
    :rtype: list
    """

    all_paths = []
    for item in items:
        data = item['data']
        if not _is_root_model(data['model']):
            continue
        if create:
            paths = _create_json_file(data_dir, data, item['obj_as_str'])
        elif update:
            paths = _update_json_file(data_dir, data, item['obj_as_str'])
        elif delete:
            paths = _delete_json_file(data_dir, data, item['obj_as_str'])
        all_paths.extend(paths)
    return all_paths
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号