logseq block 确保有 uuid
id: 01K828F9DGAX24VFCZV9C3QH1Q
logseq 中 api 返回的 uuid 在真实的 block 中未必会有,需要检查是否有 id 这个属性才能够正确获取到:
def ensure_uuid_property(self, blocks: List[Dict[str, Any]]) -> List[Dict[str, Any]]:
updated_blocks = []
for block in blocks:
if 'properties' not in block or 'id' not in block['properties']:
# Logseq block UUID is typically in block['uuid']
block_uuid = block.get('uuid')
if block_uuid:
print(f"Ensuring uuid property for block: {block_uuid}")
self.upsert_block_property(block_uuid, "id", block_uuid)
# Update the block in memory for consistency
if 'properties' not in block:
block['properties'] = {}
block['properties']['id'] = block_uuid
updated_blocks.append(block)
return updated_blocks