|
|
|
|
@ -138,6 +138,7 @@ class NotionExtractor(BaseExtractor):
|
|
|
|
|
block_url = BLOCK_CHILD_URL_TMPL.format(block_id=page_id)
|
|
|
|
|
while True:
|
|
|
|
|
query_dict: dict[str, Any] = {} if not start_cursor else {"start_cursor": start_cursor}
|
|
|
|
|
try:
|
|
|
|
|
res = requests.request(
|
|
|
|
|
"GET",
|
|
|
|
|
block_url,
|
|
|
|
|
@ -148,7 +149,13 @@ class NotionExtractor(BaseExtractor):
|
|
|
|
|
},
|
|
|
|
|
params=query_dict,
|
|
|
|
|
)
|
|
|
|
|
if res.status_code != 200:
|
|
|
|
|
raise ValueError(f"Error fetching Notion block data: {res.text}")
|
|
|
|
|
data = res.json()
|
|
|
|
|
except requests.RequestException as e:
|
|
|
|
|
raise ValueError("Error fetching Notion block data") from e
|
|
|
|
|
if "results" not in data or not isinstance(data["results"], list):
|
|
|
|
|
raise ValueError("Error fetching Notion block data")
|
|
|
|
|
for result in data["results"]:
|
|
|
|
|
result_type = result["type"]
|
|
|
|
|
result_obj = result[result_type]
|
|
|
|
|
|