當前位置: 首頁>>代碼示例>>Python>>正文


Python ConceptVersion.diff方法代碼示例

本文整理匯總了Python中concepts.models.ConceptVersion.diff方法的典型用法代碼示例。如果您正苦於以下問題:Python ConceptVersion.diff方法的具體用法?Python ConceptVersion.diff怎麽用?Python ConceptVersion.diff使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在concepts.models.ConceptVersion的用法示例。


在下文中一共展示了ConceptVersion.diff方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: update_concept_version

# 需要導入模塊: from concepts.models import ConceptVersion [as 別名]
# 或者: from concepts.models.ConceptVersion import diff [as 別名]
  def update_concept_version(self, concept_version, data):
      """ Updates the concept, or skips if no diff. Ignores retired status. """

      # Generate the diff
      clone = concept_version.clone()
      serializer = ConceptVersionUpdateSerializer(
          clone, data=data, context={'request': MockRequest(self.user)})
      if not serializer.is_valid():
          raise IllegalInputException(
              'Could not parse concept to update: %s.' % concept_version.mnemonic)
      new_version = serializer.object
      diffs = ConceptVersion.diff(concept_version, new_version)

      # Update concept if different
      if diffs:
          if 'names' in diffs:
              diffs['names'] = {'is': data.get('names')}
          if 'descriptions' in diffs:
              diffs['descriptions'] = {'is': data.get('descriptions')}
          clone.update_comment = json.dumps(diffs)
          if not self.test_mode:
              serializer.save()
              if not serializer.is_valid():
                  raise IllegalInputException(
                      'Could not persist update to concept: %s' % concept_version.mnemonic)
          return ImportActionHelper.IMPORT_ACTION_UPDATE

      # No diff, so do nothing
      return ImportActionHelper.IMPORT_ACTION_NONE
開發者ID:AnjaliWadhwa,項目名稱:oclapi,代碼行數:31,代碼來源:importer.py


注:本文中的concepts.models.ConceptVersion.diff方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。