如果您查看源代码,OpBasedDocument.InsertInlineBlip()
您将看到以下内容:
412 - def InsertInlineBlip(self, position):
413 """Inserts an inline blip into this blip at a specific position.
414
415 Args:
416 position: Position to insert the blip at.
417
418 Returns:
419 The JSON data of the blip that was created.
420 """
421 blip_data = self.__context.builder.DocumentInlineBlipInsert(
422 self._blip.waveId,
423 self._blip.waveletId,
424 self._blip.blipId,
425 position)
426 # TODO(davidbyttow): Add local blip element.
427 return self.__context.AddBlip(blip_data)
我认为 TODO 评论表明此功能尚未激活。该方法应该是可调用的并正确返回,但是我怀疑文档操作未应用于全局文档。
您在帖子中包含的语法看起来是正确的。正如您在上面看到的,InsertInlineBlip()
返回 的值,AddBlip()
即 ...dun,dun,dun... 一个光点。
543 - def AddBlip(self, blip_data):
544 """Adds a transient blip based on the data supplied.
545
546 Args:
547 blip_data: JSON data describing this blip.
548
549 Returns:
550 An OpBasedBlip that may have operations applied to it.
551 """
552 blip = OpBasedBlip(blip_data, self)
553 self.blips[blip.GetId()] = blip
554 return blip
编辑:有趣的是,Insert 方法的方法签名与 Insert 方法InsertInlineBlip(self, position)
有很大不同InsertElement(self, position, element)
。InsertInlineBlip()
不需要插入元素参数。似乎当前的逻辑InsertInlineBlip()
更像Blip.CreateChild()
,它返回一个新的子 blip 来工作。由此我们可以怀疑这个 API 会随着功能的添加而改变。