gkeep2notion
gkeep2notion copied to clipboard
body.children[9].bulleted_list_item.rich_text[0].text.content.length should be ≤ `2000`, instead was `2174`.
Hello!
First of all, thanks for developing this.
I have encountered this issue, after successfully importing 15 notes. Could you check it out? 🥺
Importing note #14: Parsing 9 blocks Importing note #15: Parsing 3 blocks Importing note #16: Parsing 31 blocks Traceback (most recent call last): File "/Users/marinucs/Library/Python/3.11/lib/python/site-packages/notion_client/client.py", line 118, in _parse_response response.raise_for_status() File "/Users/marinucs/Library/Python/3.11/lib/python/site-packages/httpx/_models.py", line 749, in raise_for_status raise HTTPStatusError(message, request=request, response=self) httpx.HTTPStatusError: Client error '400 Bad Request' for url 'https://api.notion.com/v1/pages' For more information check: https://httpstatuses.com/400
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/marinucs/Downloads/gkeep2notion/./gkeep2notion.py", line 440, in 2000, instead was 2174.
def create_page(notion: Client, page: Page) -> Page:
"""Creates a page in Notion and saves page.id"""
try:
throttle.wait()
notion_page = notion.pages.create(parent=page.parent,
properties=page.properties,
children=page.children)
page.id = notion_page['id']
except:
page.id = "your-root-page-id"
return page
you could add try except into create_page() method
The problem is, each content block in Notion is limited to 2000 characters. The solution is to split it into multiple blocks, which this script typically does if your Keep note has paragraphs.
@marinucs this is fixed in my last PR