@classmethod
    def from_v1(cls, case_block):
        """
        Gets a case update from a version 1 case. 
        Spec: https://bitbucket.org/javarosa/javarosa/wiki/casexml
        """
        if const.CASE_TAG_ID not in case_block:
            raise CaseGenerationException(
                "No case_id element found in v1 case block, "
                "this is a required property."
            )
        
        modified_on = case_block.get(const.CASE_TAG_MODIFIED, "")
        return cls(id=case_block[const.CASE_TAG_ID],
                   version=V1,
                   block=case_block,
                   modified_on_str=modified_on)
dataset/ETHPy150Open dimagi/commcare-hq/corehq/ex-submodules/casexml/apps/case/xml/parser.py/CaseUpdate.from_v1/original