当前位置: 首页>>代码示例>>Python>>正文


Python CommCareCase.get_locked_obj方法代码示例

本文整理汇总了Python中casexml.apps.case.models.CommCareCase.get_locked_obj方法的典型用法代码示例。如果您正苦于以下问题:Python CommCareCase.get_locked_obj方法的具体用法?Python CommCareCase.get_locked_obj怎么用?Python CommCareCase.get_locked_obj使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在casexml.apps.case.models.CommCareCase的用法示例。


在下文中一共展示了CommCareCase.get_locked_obj方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get

# 需要导入模块: from casexml.apps.case.models import CommCareCase [as 别名]
# 或者: from casexml.apps.case.models.CommCareCase import get_locked_obj [as 别名]
    def get(self, case_id):
        if not case_id:
            raise IllegalCaseId('case_id must not be empty')
        if case_id in self.cache:
            return self.cache[case_id]

        try:
            if self.strip_history:
                case_doc = CommCareCase.get_lite(case_id, wrap=self.wrap)
            elif self.lock:
                try:
                    case_doc, lock = CommCareCase.get_locked_obj(_id=case_id)
                except redis.RedisError:
                    case_doc = CommCareCase.get(case_id)
                else:
                    self.locks.append(lock)
            else:
                if self.wrap:
                    case_doc = CommCareCase.get(case_id)
                else:
                    case_doc = CommCareCase.get_db().get(case_id)
        except ResourceNotFound:
            return None

        self.validate_doc(case_doc)
        self.cache[case_id] = case_doc
        return case_doc
开发者ID:ekush,项目名称:commcare-hq,代码行数:29,代码来源:xform.py

示例2: get_case_with_lock

# 需要导入模块: from casexml.apps.case.models import CommCareCase [as 别名]
# 或者: from casexml.apps.case.models.CommCareCase import get_locked_obj [as 别名]
    def get_case_with_lock(case_id, lock=False, strip_history=False, wrap=False):

        def _get_case():
            if wrap:
                return CommCareCase.get(case_id)
            else:
                return CommCareCase.get_db().get(case_id)

        try:
            if strip_history:
                case_doc = CommCareCase.get_lite(case_id, wrap=wrap)
            elif lock:
                try:
                    case, lock = CommCareCase.get_locked_obj(_id=case_id)
                    if case and not wrap:
                        case = case.to_json()
                    return case, lock
                except redis.RedisError:
                    case_doc = _get_case()
            else:
                case_doc = _get_case()
        except ResourceNotFound:
            return None, None

        return case_doc, None
开发者ID:kkrampa,项目名称:commcare-hq,代码行数:27,代码来源:processor.py

示例3: _get_case

# 需要导入模块: from casexml.apps.case.models import CommCareCase [as 别名]
# 或者: from casexml.apps.case.models.CommCareCase import get_locked_obj [as 别名]
    def _get_case(self, case_id):
        try:
            if self.strip_history:
                case_doc = CommCareCase.get_lite(case_id, wrap=self.wrap)
            elif self.lock:
                try:
                    case_doc, lock = CommCareCase.get_locked_obj(_id=case_id)
                except redis.RedisError:
                    case_doc = CommCareCase.get(case_id)
                else:
                    self.locks.append(lock)
            else:
                if self.wrap:
                    case_doc = CommCareCase.get(case_id)
                else:
                    case_doc = CommCareCase.get_db().get(case_id)
        except ResourceNotFound:
            return None

        return case_doc
开发者ID:saketkanth,项目名称:commcare-hq,代码行数:22,代码来源:casedb.py


注:本文中的casexml.apps.case.models.CommCareCase.get_locked_obj方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。