Skip to content

Commit 490708c

Browse files
committed
Better error Handling
1 parent 0d1f92f commit 490708c

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

notion/query.py

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
11
from notion_client.helpers import collect_paginated_api
22
from notion_client import APIErrorCode, APIResponseError
3+
from time import sleep
4+
def GeneralErrorProcess(error):
5+
match error.code:
6+
case APIErrorCode.RateLimited:
7+
print("Rate Limited")
8+
sleep(60)
9+
case _:
10+
print(error)
11+
return False
12+
return False
313

414
def RetrieveDatabaseStructure(notion, database_id):
515
try:
616
result = notion.databases.retrieve(database_id=database_id).get("properties")
717
except APIResponseError as error:
8-
print(error)
18+
GeneralErrorProcess(error)
919
return None
1020
return result
1121

1222
def UpdateDatabaseStructure(notion, database_id, properties):
1323
try:
1424
notion.databases.update(database_id=database_id,properties=properties)
1525
except APIResponseError as error:
16-
print(error)
26+
GeneralErrorProcess(error)
1727
return False
1828
return True
1929

@@ -28,7 +38,7 @@ def RetrieveDatabaseRows(notion, database_id, filter_properties=None):
2838
}]
2939
)
3040
except APIResponseError as error:
31-
print(error)
41+
GeneralErrorProcess(error)
3242
return None
3343
return result
3444

@@ -48,7 +58,7 @@ def RetrieveDatabaseList(notion, descending=True, cursor=None, page_size=100):
4858
,page_size=page_size
4959
)
5060
except APIResponseError as error:
51-
print(error)
61+
GeneralErrorProcess(error)
5262
return None
5363
return database_results
5464

@@ -66,7 +76,7 @@ def RetrieveList(notion, descending=True, cursor=None, page_size=100):
6676
except APIResponseError as error:
6777
if error.code == APIErrorCode.ValidationError: ## cursor not found ignore
6878
return None
69-
print(error)
79+
GeneralErrorProcess(error)
7080
return None
7181
return results
7282

@@ -80,7 +90,7 @@ def RetrieveLatestCursor(notion):
8090
,page_size=1
8191
).get("results")
8292
except APIResponseError as error:
83-
print(error)
93+
GeneralErrorProcess(error)
8494
return None
8595
return result[0].get("id")
8696

@@ -91,15 +101,14 @@ def UpdatePageProperties(notion, page_id, properties):
91101
if error.code == APIErrorCode.ObjectNotFound:
92102
return False
93103
else:
94-
print(error)
95104
return False
96105
return True
97106

98107
def RetrievePage(notion, page_id, filter_properties=None):
99108
try:
100109
result = notion.pages.retrieve(page_id=page_id,filter_properties=filter_properties)
101110
except APIResponseError as error:
102-
print(error)
111+
GeneralErrorProcess(error)
103112
return None
104113
return result
105114

0 commit comments

Comments
 (0)