Exemplo n.º 1
0
 def delete_doc(self, doc_id, auth_info, parent_sha, **kwargs):
     git_action = self.create_git_action(doc_id)
     from peyotl.git_storage.git_workflow import delete_document
     doctype_display_name = kwargs.get('doctype_display_name', None)
     ret = delete_document(git_action,
                           doc_id,
                           auth_info,
                           parent_sha,
                           doctype_display_name=doctype_display_name,
                           **kwargs)
     if not ret['merge_needed']:
         with self._index_lock:
             try:
                 _shard = self._doc2shard_map[doc_id]
             except KeyError:
                 pass
             else:
                 _shard.delete_doc_from_index(doc_id)
                 try:
                     # complex types use aliases (clean these up)
                     alias_list = _shard.id_alias_list_fn(doc_id)
                 except:
                     # it's a simple type, with no alias list
                     alias_list = [doc_id]
                 for alias in alias_list:
                     try:
                         del self._doc2shard_map[alias]
                     except KeyError:
                         pass
     return ret
Exemplo n.º 2
0
 def delete_doc(self, doc_id, auth_info, parent_sha, **kwargs):
     git_action = self.create_git_action(doc_id)
     from peyotl.git_storage.git_workflow import delete_document
     doctype_display_name = kwargs.get('doctype_display_name', None)
     ret = delete_document(git_action,
                           doc_id,
                           auth_info,
                           parent_sha,
                           doctype_display_name=doctype_display_name,
                           **kwargs)
     if not ret['merge_needed']:
         with self._index_lock:
             try:
                 _shard = self._doc2shard_map[doc_id]
             except KeyError:
                 pass
             else:
                 _shard.delete_doc_from_index(doc_id)
                 try:
                     # complex types use aliases (clean these up)
                     alias_list = _shard.id_alias_list_fn(doc_id)
                 except:
                     # it's a simple type, with no alias list
                     alias_list = [doc_id]
                 for alias in alias_list:
                     try:
                         del self._doc2shard_map[alias]
                     except KeyError:
                         pass
     return ret
Exemplo n.º 3
0
def delete_study(git_action,
                 study_id,
                 auth_info,
                 parent_sha,
                 commit_msg=None,
                 merged_sha=None):  # pylint: disable=W0613
    return delete_document(git_action,
                           study_id,
                           auth_info,
                           parent_sha,
                           commit_msg,
                           merged_sha,
                           doctype_display_name="study")
Exemplo n.º 4
0
def delete_study(git_action,
                 study_id,
                 auth_info,
                 parent_sha,
                 commit_msg=None,
                 merged_sha=None):  # pylint: disable=W0613
    return delete_document(git_action,
                           study_id,
                           auth_info,
                           parent_sha,
                           commit_msg,
                           merged_sha,
                           doctype_display_name="study")