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.
@@ -1,4 +1,4 @@
1
- __version__ = "0.0.1"
1
+ __version__ = "0.0.2"
2
2
  """Notion API wrapper for easy database cascade insert (one-to-many) automation"""
3
3
 
4
4
  # AUTOGENERATED! DO NOT EDIT! File to edit: ../nbs/index.ipynb.
@@ -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',
@@ -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.db_id, filter={"property": self.relation_prop, "relation": {"contains": relation_id}})
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.1
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: Solveit
7
- Author-email: nobody@fast.ai
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,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -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,,