notion-cascade-insert 0.0.1__py3-none-any.whl → 0.0.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- notion_cascade_insert/__init__.py +1 -1
- notion_cascade_insert/_modidx.py +2 -0
- notion_cascade_insert/core.py +15 -1
- {notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/METADATA +3 -22
- notion_cascade_insert-0.0.2.dist-info/RECORD +10 -0
- {notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/WHEEL +1 -1
- notion_cascade_insert-0.0.1.dist-info/RECORD +0 -10
- {notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/entry_points.txt +0 -0
- {notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/licenses/LICENSE +0 -0
- {notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/top_level.txt +0 -0
notion_cascade_insert/_modidx.py
CHANGED
|
@@ -20,6 +20,8 @@ d = { 'settings': { 'branch': 'main',
|
|
|
20
20
|
'notion_cascade_insert.core.Database': ('core.html#database', 'notion_cascade_insert/core.py'),
|
|
21
21
|
'notion_cascade_insert.core.Database.__init__': ( 'core.html#database.__init__',
|
|
22
22
|
'notion_cascade_insert/core.py'),
|
|
23
|
+
'notion_cascade_insert.core.Database.check_db_exists': ( 'core.html#database.check_db_exists',
|
|
24
|
+
'notion_cascade_insert/core.py'),
|
|
23
25
|
'notion_cascade_insert.core.Database.get_schema': ( 'core.html#database.get_schema',
|
|
24
26
|
'notion_cascade_insert/core.py'),
|
|
25
27
|
'notion_cascade_insert.core.JunctionDB': ( 'core.html#junctiondb',
|
notion_cascade_insert/core.py
CHANGED
|
@@ -13,6 +13,10 @@ class Database:
|
|
|
13
13
|
notion # Notion client instance
|
|
14
14
|
):
|
|
15
15
|
self.db_id, self.notion = db_id, notion
|
|
16
|
+
|
|
17
|
+
# Fetch and store the data source ID
|
|
18
|
+
db_info = self.notion.databases.retrieve(self.db_id)
|
|
19
|
+
self.data_source_id = db_info['data_sources'][0]['id']
|
|
16
20
|
|
|
17
21
|
def get_schema(self):
|
|
18
22
|
"""Retrieve the database schema.
|
|
@@ -22,6 +26,16 @@ class Database:
|
|
|
22
26
|
"""
|
|
23
27
|
db = self.notion.databases.retrieve(self.db_id)
|
|
24
28
|
return {name: props['type'] for name, props in db['properties'].items()}
|
|
29
|
+
|
|
30
|
+
def check_db_exists(self):
|
|
31
|
+
"Check if database exists and is accessible"
|
|
32
|
+
try:
|
|
33
|
+
db = self.notion.databases.retrieve(database_id=self.db_id)
|
|
34
|
+
print(f"✓ Database exists: {db['title'][0]['plain_text']}")
|
|
35
|
+
return True
|
|
36
|
+
except Exception as e:
|
|
37
|
+
print(f"✗ Database not found: {e}")
|
|
38
|
+
return False
|
|
25
39
|
|
|
26
40
|
# %% ../nbs/00_core.ipynb #52b04240
|
|
27
41
|
class TriggerDB(Database):
|
|
@@ -80,7 +94,7 @@ class JunctionDB(Database):
|
|
|
80
94
|
dict: Mapping of item IDs to their amounts, empty dict if no relation_id
|
|
81
95
|
"""
|
|
82
96
|
if not relation_id: return {}
|
|
83
|
-
res = self.notion.data_sources.query(data_source_id=self.
|
|
97
|
+
res = self.notion.data_sources.query(data_source_id=self.data_source_id, filter={"property": self.relation_prop, "relation": {"contains": relation_id}})
|
|
84
98
|
return {r['properties'][self.item_prop]['relation'][0]['id']: r['properties'][self.amount_prop]['number'] for r in res['results']}
|
|
85
99
|
|
|
86
100
|
#| export
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: notion_cascade_insert
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.2
|
|
4
4
|
Summary: Cascade inserting for Notion Database Automation (as log)
|
|
5
5
|
Home-page: https://github.com/amezaikupan/notion_cascade_insert
|
|
6
|
-
Author:
|
|
7
|
-
Author-email:
|
|
6
|
+
Author: TN
|
|
7
|
+
Author-email: amezaikupan@gmail.com
|
|
8
8
|
License: Apache-2.0
|
|
9
9
|
Keywords: nbdev jupyter notebook python
|
|
10
10
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -47,25 +47,6 @@ Dynamic: summary
|
|
|
47
47
|
! pip install notion_cascade_insert
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
Requirement already satisfied: notion_cascade_insert in /app/data/.local/lib/python3.12/site-packages (0.0.1)
|
|
51
|
-
Requirement already satisfied: fastcore in /usr/local/lib/python3.12/site-packages (from notion_cascade_insert) (1.12.2)
|
|
52
|
-
Requirement already satisfied: fastapi in /usr/local/lib/python3.12/site-packages (from notion_cascade_insert) (0.128.0)
|
|
53
|
-
Requirement already satisfied: notion_client in /app/data/.local/lib/python3.12/site-packages (from notion_cascade_insert) (2.7.0)
|
|
54
|
-
Requirement already satisfied: starlette<0.51.0,>=0.40.0 in /app/data/.local/lib/python3.12/site-packages (from fastapi->notion_cascade_insert) (0.50.0)
|
|
55
|
-
Requirement already satisfied: pydantic>=2.7.0 in /usr/local/lib/python3.12/site-packages (from fastapi->notion_cascade_insert) (2.12.5)
|
|
56
|
-
Requirement already satisfied: typing-extensions>=4.8.0 in /usr/local/lib/python3.12/site-packages (from fastapi->notion_cascade_insert) (4.15.0)
|
|
57
|
-
Requirement already satisfied: annotated-doc>=0.0.2 in /usr/local/lib/python3.12/site-packages (from fastapi->notion_cascade_insert) (0.0.4)
|
|
58
|
-
Requirement already satisfied: anyio<5,>=3.6.2 in /usr/local/lib/python3.12/site-packages (from starlette<0.51.0,>=0.40.0->fastapi->notion_cascade_insert) (4.12.1)
|
|
59
|
-
Requirement already satisfied: idna>=2.8 in /usr/local/lib/python3.12/site-packages (from anyio<5,>=3.6.2->starlette<0.51.0,>=0.40.0->fastapi->notion_cascade_insert) (3.11)
|
|
60
|
-
Requirement already satisfied: annotated-types>=0.6.0 in /usr/local/lib/python3.12/site-packages (from pydantic>=2.7.0->fastapi->notion_cascade_insert) (0.7.0)
|
|
61
|
-
Requirement already satisfied: pydantic-core==2.41.5 in /usr/local/lib/python3.12/site-packages (from pydantic>=2.7.0->fastapi->notion_cascade_insert) (2.41.5)
|
|
62
|
-
Requirement already satisfied: typing-inspection>=0.4.2 in /usr/local/lib/python3.12/site-packages (from pydantic>=2.7.0->fastapi->notion_cascade_insert) (0.4.2)
|
|
63
|
-
Requirement already satisfied: packaging in /usr/local/lib/python3.12/site-packages (from fastcore->notion_cascade_insert) (25.0)
|
|
64
|
-
Requirement already satisfied: httpx>=0.23.0 in /usr/local/lib/python3.12/site-packages (from notion_client->notion_cascade_insert) (0.28.1)
|
|
65
|
-
Requirement already satisfied: certifi in /usr/local/lib/python3.12/site-packages (from httpx>=0.23.0->notion_client->notion_cascade_insert) (2026.1.4)
|
|
66
|
-
Requirement already satisfied: httpcore==1.* in /usr/local/lib/python3.12/site-packages (from httpx>=0.23.0->notion_client->notion_cascade_insert) (1.0.9)
|
|
67
|
-
Requirement already satisfied: h11>=0.16 in /usr/local/lib/python3.12/site-packages (from httpcore==1.*->httpx>=0.23.0->notion_client->notion_cascade_insert) (0.16.0)
|
|
68
|
-
|
|
69
50
|
## How to use
|
|
70
51
|
|
|
71
52
|
### Building blocks
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
notion_cascade_insert/__init__.py,sha256=vIJf9C4aXLmcv4c6iZdBbp0xFLBI_n4ALuKYQX5w4JM,322
|
|
2
|
+
notion_cascade_insert/_modidx.py,sha256=iaCld590eNIbQeklcaoYoqTdF6fuSOpmCkPx-diM9k4,6080
|
|
3
|
+
notion_cascade_insert/core.py,sha256=vrzc39HV9SeZLxcyWyHaY3lmTDkk8Hitv8N3Qh0mvmY,8750
|
|
4
|
+
notion_cascade_insert/webhook.py,sha256=myE6iRY232Zd2uBSfuepPcIPm4mopEYWmFzvfaWxF30,1214
|
|
5
|
+
notion_cascade_insert-0.0.2.dist-info/licenses/LICENSE,sha256=xV8xoN4VOL0uw9X8RSs2IMuD_Ss_a9yAbtGNeBWZwnw,11337
|
|
6
|
+
notion_cascade_insert-0.0.2.dist-info/METADATA,sha256=wwtk8wKXNQ2uEALZgpzOdLFrqaE4NEx9th6gfkKe2gc,3724
|
|
7
|
+
notion_cascade_insert-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
8
|
+
notion_cascade_insert-0.0.2.dist-info/entry_points.txt,sha256=XqKv0P7bGQlZ7SqZcyTdvIaQJI8GlMHtcJP9NPOhQbA,64
|
|
9
|
+
notion_cascade_insert-0.0.2.dist-info/top_level.txt,sha256=XRld1ok2pAh3DC9o3ZByqlORHGblJMVMOjE0pQRROE4,22
|
|
10
|
+
notion_cascade_insert-0.0.2.dist-info/RECORD,,
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
notion_cascade_insert/__init__.py,sha256=PTPiHewYdSbDtv-VQRxIRCW4-vkVdIAIDhtFvHAUomE,322
|
|
2
|
-
notion_cascade_insert/_modidx.py,sha256=Z2tOwCLdEpsBT0EAcjJwRLYQwbtx8vDvvHsXdB7m4ow,5806
|
|
3
|
-
notion_cascade_insert/core.py,sha256=_7tTLut_SlwA8r2B-FBBW3ChQPOmu7CZz3RtFUEWRrE,8193
|
|
4
|
-
notion_cascade_insert/webhook.py,sha256=myE6iRY232Zd2uBSfuepPcIPm4mopEYWmFzvfaWxF30,1214
|
|
5
|
-
notion_cascade_insert-0.0.1.dist-info/licenses/LICENSE,sha256=xV8xoN4VOL0uw9X8RSs2IMuD_Ss_a9yAbtGNeBWZwnw,11337
|
|
6
|
-
notion_cascade_insert-0.0.1.dist-info/METADATA,sha256=IV187x-EVC-uvLHjCSoIlWU52BchOVIhsI4xcgUI1Cc,6419
|
|
7
|
-
notion_cascade_insert-0.0.1.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
|
8
|
-
notion_cascade_insert-0.0.1.dist-info/entry_points.txt,sha256=XqKv0P7bGQlZ7SqZcyTdvIaQJI8GlMHtcJP9NPOhQbA,64
|
|
9
|
-
notion_cascade_insert-0.0.1.dist-info/top_level.txt,sha256=XRld1ok2pAh3DC9o3ZByqlORHGblJMVMOjE0pQRROE4,22
|
|
10
|
-
notion_cascade_insert-0.0.1.dist-info/RECORD,,
|
{notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{notion_cascade_insert-0.0.1.dist-info → notion_cascade_insert-0.0.2.dist-info}/top_level.txt
RENAMED
|
File without changes
|