notionary 0.2.23__py3-none-any.whl → 0.2.24__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.
- notionary/__init__.py +1 -1
- notionary/blocks/__init__.py +3 -1
- notionary/blocks/audio/__init__.py +0 -2
- notionary/blocks/audio/audio_element.py +92 -49
- notionary/blocks/audio/audio_markdown_node.py +4 -17
- notionary/blocks/bookmark/__init__.py +0 -2
- notionary/blocks/bookmark/bookmark_markdown_node.py +5 -21
- notionary/blocks/breadcrumbs/__init__.py +0 -2
- notionary/blocks/breadcrumbs/breadcrumb_markdown_node.py +2 -21
- notionary/blocks/bulleted_list/__init__.py +0 -2
- notionary/blocks/bulleted_list/bulleted_list_markdown_node.py +3 -17
- notionary/blocks/bulleted_list/bulleted_list_models.py +0 -1
- notionary/blocks/callout/__init__.py +0 -2
- notionary/blocks/callout/callout_markdown_node.py +4 -18
- notionary/blocks/callout/callout_models.py +3 -4
- notionary/blocks/code/code_markdown_node.py +5 -19
- notionary/blocks/column/__init__.py +0 -4
- notionary/blocks/column/column_list_markdown_node.py +3 -19
- notionary/blocks/column/column_markdown_node.py +4 -21
- notionary/blocks/divider/__init__.py +0 -2
- notionary/blocks/divider/divider_markdown_node.py +2 -16
- notionary/blocks/embed/__init__.py +0 -2
- notionary/blocks/embed/embed_markdown_node.py +4 -17
- notionary/blocks/equation/__init__.py +0 -1
- notionary/blocks/equation/equation_element_markdown_node.py +3 -15
- notionary/blocks/file/__init__.py +0 -2
- notionary/blocks/file/file_element.py +67 -46
- notionary/blocks/file/file_element_markdown_node.py +4 -17
- notionary/blocks/heading/__init__.py +0 -2
- notionary/blocks/heading/heading_markdown_node.py +5 -19
- notionary/blocks/heading/heading_models.py +3 -3
- notionary/blocks/image_block/__init__.py +0 -2
- notionary/blocks/image_block/image_element.py +66 -25
- notionary/blocks/image_block/image_markdown_node.py +5 -20
- notionary/{markdown → blocks/markdown}/markdown_builder.py +29 -233
- notionary/blocks/markdown/markdown_node.py +25 -0
- notionary/blocks/mixins/file_upload/__init__.py +3 -0
- notionary/blocks/mixins/file_upload/file_upload_mixin.py +320 -0
- notionary/blocks/numbered_list/__init__.py +0 -1
- notionary/blocks/numbered_list/numbered_list_markdown_node.py +3 -17
- notionary/blocks/numbered_list/numbered_list_models.py +3 -3
- notionary/blocks/paragraph/__init__.py +0 -2
- notionary/blocks/paragraph/paragraph_markdown_node.py +3 -13
- notionary/blocks/pdf/__init__.py +0 -2
- notionary/blocks/pdf/pdf_element.py +81 -32
- notionary/blocks/pdf/pdf_markdown_node.py +5 -18
- notionary/blocks/quote/__init__.py +0 -2
- notionary/blocks/quote/quote_markdown_node.py +3 -13
- notionary/blocks/registry/__init__.py +1 -2
- notionary/blocks/registry/block_registry.py +116 -61
- notionary/blocks/table/__init__.py +0 -2
- notionary/blocks/table/table_markdown_node.py +17 -16
- notionary/blocks/table_of_contents/__init__.py +0 -2
- notionary/blocks/table_of_contents/table_of_contents_element.py +27 -15
- notionary/blocks/table_of_contents/table_of_contents_markdown_node.py +3 -17
- notionary/blocks/table_of_contents/table_of_contents_models.py +2 -2
- notionary/blocks/todo/__init__.py +0 -2
- notionary/blocks/todo/todo_markdown_node.py +9 -20
- notionary/blocks/todo/todo_models.py +2 -3
- notionary/blocks/toggle/__init__.py +0 -2
- notionary/blocks/toggle/toggle_markdown_node.py +5 -19
- notionary/blocks/toggleable_heading/__init__.py +0 -2
- notionary/blocks/toggleable_heading/toggleable_heading_markdown_node.py +6 -23
- notionary/blocks/video/__init__.py +0 -2
- notionary/blocks/video/video_element.py +110 -34
- notionary/blocks/video/video_markdown_node.py +4 -15
- notionary/comments/client.py +1 -1
- notionary/file_upload/client.py +3 -2
- notionary/file_upload/models.py +10 -1
- notionary/file_upload/notion_file_upload.py +5 -5
- notionary/page/markdown_whitespace_processor.py +129 -0
- notionary/page/notion_page.py +35 -40
- notionary/page/page_content_deleting_service.py +1 -1
- notionary/page/page_content_writer.py +32 -129
- notionary/page/page_context.py +0 -5
- notionary/page/reader/handler/column_list_renderer.py +2 -2
- notionary/page/reader/handler/column_renderer.py +2 -2
- notionary/page/reader/handler/line_renderer.py +2 -2
- notionary/page/reader/handler/toggle_renderer.py +2 -2
- notionary/page/reader/handler/toggleable_heading_renderer.py +2 -2
- notionary/page/writer/handler/toggle_handler.py +8 -4
- notionary/page/writer/handler/toggleable_heading_handler.py +3 -2
- notionary/page/writer/markdown_to_notion_converter.py +74 -30
- notionary/schemas/__init__.py +3 -0
- notionary/schemas/base.py +73 -0
- notionary/shared/__init__.py +1 -3
- {notionary-0.2.23.dist-info → notionary-0.2.24.dist-info}/METADATA +16 -1
- {notionary-0.2.23.dist-info → notionary-0.2.24.dist-info}/RECORD +91 -93
- notionary/blocks/guards.py +0 -22
- notionary/blocks/registry/block_registry_builder.py +0 -264
- notionary/markdown/makdown_document_model.py +0 -0
- notionary/markdown/markdown_document_model.py +0 -228
- notionary/markdown/markdown_node.py +0 -30
- notionary/models/notion_database_response.py +0 -0
- notionary/page/writer/markdown_to_notion_formatting_post_processor.py +0 -73
- notionary/page/writer/markdown_to_notion_post_processor.py +0 -0
- /notionary/{markdown/___init__.py → blocks/markdown/markdown_document_model.py} +0 -0
- {notionary-0.2.23.dist-info → notionary-0.2.24.dist-info}/LICENSE +0 -0
- {notionary-0.2.23.dist-info → notionary-0.2.24.dist-info}/WHEEL +0 -0
@@ -12,54 +12,32 @@ from notionary.page.writer.handler import (
|
|
12
12
|
ToggleableHeadingHandler,
|
13
13
|
ToggleHandler,
|
14
14
|
)
|
15
|
-
from notionary.page.writer.markdown_to_notion_formatting_post_processor import (
|
16
|
-
MarkdownToNotionFormattingPostProcessor,
|
17
|
-
)
|
18
15
|
from notionary.page.writer.notion_text_length_processor import (
|
19
16
|
NotionTextLengthProcessor,
|
20
17
|
)
|
18
|
+
from notionary.util.logging_mixin import LoggingMixin
|
19
|
+
|
20
|
+
|
21
|
+
class HandlerOrderValidationError(RuntimeError):
|
22
|
+
"""Raised when handler chain order is incorrect."""
|
21
23
|
|
24
|
+
pass
|
22
25
|
|
23
|
-
|
26
|
+
|
27
|
+
class MarkdownToNotionConverter(LoggingMixin):
|
24
28
|
"""Converts Markdown text to Notion API block format with unified stack-based processing."""
|
25
29
|
|
26
30
|
def __init__(self, block_registry: BlockRegistry) -> None:
|
27
31
|
self._block_registry = block_registry
|
28
|
-
self._formatting_post_processor = MarkdownToNotionFormattingPostProcessor()
|
29
32
|
self._text_length_post_processor = NotionTextLengthProcessor()
|
30
|
-
|
31
33
|
self._setup_handler_chain()
|
32
34
|
|
33
|
-
def _setup_handler_chain(self) -> None:
|
34
|
-
code_handler = CodeHandler()
|
35
|
-
equation_handler = EquationHandler()
|
36
|
-
table_handler = TableHandler()
|
37
|
-
column_list_handler = ColumnListHandler()
|
38
|
-
column_handler = ColumnHandler()
|
39
|
-
toggle_handler = ToggleHandler()
|
40
|
-
toggleable_heading_handler = ToggleableHeadingHandler()
|
41
|
-
regular_handler = RegularLineHandler()
|
42
|
-
|
43
|
-
# register more specific elements first
|
44
|
-
code_handler.set_next(equation_handler).set_next(table_handler).set_next(
|
45
|
-
column_list_handler
|
46
|
-
).set_next(column_handler).set_next(toggleable_heading_handler).set_next(
|
47
|
-
toggle_handler
|
48
|
-
).set_next(
|
49
|
-
regular_handler
|
50
|
-
)
|
51
|
-
|
52
|
-
self._handler_chain = code_handler
|
53
|
-
|
54
35
|
async def convert(self, markdown_text: str) -> list[BlockCreateRequest]:
|
55
36
|
if not markdown_text.strip():
|
56
37
|
return []
|
57
38
|
|
58
39
|
all_blocks = await self.process_lines(markdown_text)
|
59
40
|
|
60
|
-
# Apply formatting post-processing (empty paragraphs)
|
61
|
-
all_blocks = self._formatting_post_processor.process(all_blocks)
|
62
|
-
|
63
41
|
# Apply text length post-processing (truncation)
|
64
42
|
all_blocks = self._text_length_post_processor.process(all_blocks)
|
65
43
|
|
@@ -93,3 +71,69 @@ class MarkdownToNotionConverter:
|
|
93
71
|
continue
|
94
72
|
|
95
73
|
return result_blocks
|
74
|
+
|
75
|
+
def _setup_handler_chain(self) -> None:
|
76
|
+
code_handler = CodeHandler()
|
77
|
+
equation_handler = EquationHandler()
|
78
|
+
table_handler = TableHandler()
|
79
|
+
column_list_handler = ColumnListHandler()
|
80
|
+
column_handler = ColumnHandler()
|
81
|
+
toggle_handler = ToggleHandler()
|
82
|
+
toggleable_heading_handler = ToggleableHeadingHandler()
|
83
|
+
regular_handler = RegularLineHandler()
|
84
|
+
|
85
|
+
# Create handler chain
|
86
|
+
code_handler.set_next(equation_handler).set_next(table_handler).set_next(
|
87
|
+
column_handler
|
88
|
+
).set_next(column_list_handler).set_next(toggleable_heading_handler).set_next(
|
89
|
+
toggle_handler
|
90
|
+
).set_next(
|
91
|
+
regular_handler
|
92
|
+
)
|
93
|
+
|
94
|
+
self._handler_chain = code_handler
|
95
|
+
|
96
|
+
# Validate critical order - only log/error if something is wrong
|
97
|
+
self._validate_handler_order(
|
98
|
+
[
|
99
|
+
code_handler,
|
100
|
+
equation_handler,
|
101
|
+
table_handler,
|
102
|
+
column_handler,
|
103
|
+
column_list_handler,
|
104
|
+
toggleable_heading_handler,
|
105
|
+
toggle_handler,
|
106
|
+
regular_handler,
|
107
|
+
]
|
108
|
+
)
|
109
|
+
|
110
|
+
def _validate_handler_order(self, handlers) -> None:
|
111
|
+
"""Validate critical handler positioning rules - only warns/errors when needed."""
|
112
|
+
handler_classes = [handler.__class__ for handler in handlers]
|
113
|
+
|
114
|
+
# Critical: ColumnHandler MUST come before ColumnListHandler
|
115
|
+
try:
|
116
|
+
column_handler_pos = handler_classes.index(ColumnHandler)
|
117
|
+
column_list_handler_pos = handler_classes.index(ColumnListHandler)
|
118
|
+
|
119
|
+
if column_handler_pos >= column_list_handler_pos:
|
120
|
+
error_msg = (
|
121
|
+
f"CRITICAL: ColumnHandler must come BEFORE ColumnListHandler. "
|
122
|
+
f"Current order: ColumnHandler at {column_handler_pos}, ColumnListHandler at {column_list_handler_pos}. "
|
123
|
+
f"Fix: Move ColumnHandler before ColumnListHandler in _setup_handler_chain()"
|
124
|
+
)
|
125
|
+
self.logger.error(error_msg)
|
126
|
+
raise HandlerOrderValidationError(error_msg)
|
127
|
+
|
128
|
+
except ValueError as e:
|
129
|
+
error_msg = f"Missing required handlers in chain: {e}"
|
130
|
+
self.logger.error(error_msg)
|
131
|
+
raise HandlerOrderValidationError(error_msg)
|
132
|
+
|
133
|
+
# Critical: RegularLineHandler should be last (fallback)
|
134
|
+
if handler_classes[-1] != RegularLineHandler:
|
135
|
+
error_msg = (
|
136
|
+
f"WARNING: RegularLineHandler should be last handler (fallback), "
|
137
|
+
f"but {handler_classes[-1].__name__} is at the end"
|
138
|
+
)
|
139
|
+
self.logger.warning(error_msg)
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""
|
2
|
+
NotionContentSchema Base Class
|
3
|
+
=============================
|
4
|
+
|
5
|
+
Base class for all Notion structured output schemas with injected MarkdownBuilder
|
6
|
+
"""
|
7
|
+
|
8
|
+
from pydantic import BaseModel
|
9
|
+
from notionary.blocks.markdown.markdown_builder import MarkdownBuilder
|
10
|
+
|
11
|
+
|
12
|
+
class NotionContentSchema(BaseModel):
|
13
|
+
"""
|
14
|
+
Base class for all Notion content schemas.
|
15
|
+
|
16
|
+
Inherit from this and implement to_notion_content() to create
|
17
|
+
schemas that work with LLM structured output.
|
18
|
+
|
19
|
+
Example usage:
|
20
|
+
|
21
|
+
class BlogPost(NotionContentSchema):
|
22
|
+
title: str = Field(description="Catchy blog post title")
|
23
|
+
introduction: str = Field(description="Engaging opening paragraph")
|
24
|
+
main_points: List[str] = Field(description="3-5 key takeaways")
|
25
|
+
conclusion: str = Field(description="Summary and call-to-action")
|
26
|
+
|
27
|
+
def to_notion_content(self, builder: MarkdownBuilder) -> str:
|
28
|
+
return (builder
|
29
|
+
.h1(self.title)
|
30
|
+
.paragraph(self.introduction)
|
31
|
+
.h2("Key Points")
|
32
|
+
.bulleted_list(self.main_points)
|
33
|
+
.h2("Conclusion")
|
34
|
+
.paragraph(self.conclusion)
|
35
|
+
.build()
|
36
|
+
)
|
37
|
+
|
38
|
+
# Usage with LLM:
|
39
|
+
llm = ChatOpenAI(model="gpt-4o")
|
40
|
+
structured_llm = llm.with_structured_output(BlogPost)
|
41
|
+
blog = structured_llm.invoke("Write about Python async/await")
|
42
|
+
|
43
|
+
# Upload to Notion:
|
44
|
+
await blog.append_to_page("My Blog")
|
45
|
+
"""
|
46
|
+
|
47
|
+
def to_notion_content(self, builder: MarkdownBuilder) -> str:
|
48
|
+
"""
|
49
|
+
Build Notion content using the provided MarkdownBuilder.
|
50
|
+
|
51
|
+
Args:
|
52
|
+
builder: Empty MarkdownBuilder instance to build content with
|
53
|
+
|
54
|
+
Returns:
|
55
|
+
str: The final markdown string (user should call build() on the builder)
|
56
|
+
"""
|
57
|
+
raise NotImplementedError("Subclasses must implement to_notion_content()")
|
58
|
+
|
59
|
+
async def append_to_page(self, page_name: str):
|
60
|
+
"""
|
61
|
+
Upload this content directly to a Notion page.
|
62
|
+
|
63
|
+
Args:
|
64
|
+
page_name: Name of the target Notion page
|
65
|
+
"""
|
66
|
+
from notionary import NotionPage
|
67
|
+
|
68
|
+
# Create fresh builder and let subclass build content
|
69
|
+
builder = MarkdownBuilder()
|
70
|
+
markdown = self.to_notion_content(builder)
|
71
|
+
|
72
|
+
page = await NotionPage.from_page_name(page_name)
|
73
|
+
await page.append_markdown(markdown)
|
notionary/shared/__init__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: notionary
|
3
|
-
Version: 0.2.
|
3
|
+
Version: 0.2.24
|
4
4
|
Summary: Python library for programmatic Notion workspace management - databases, pages, and content with advanced Markdown support
|
5
5
|
License: MIT
|
6
6
|
Author: Mathis Arends
|
@@ -13,6 +13,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
15
15
|
Classifier: Programming Language :: Python :: 3.13
|
16
|
+
Requires-Dist: aiofiles (>=24.1.0,<25.0.0)
|
16
17
|
Requires-Dist: httpx (>=0.28.0)
|
17
18
|
Requires-Dist: posthog (>=6.3.1,<7.0.0)
|
18
19
|
Requires-Dist: pydantic (>=2.11.4)
|
@@ -64,6 +65,13 @@ NOTION_SECRET=your_integration_key
|
|
64
65
|
|
65
66
|
### Simple Flow: Find → Create → Update
|
66
67
|
|
68
|
+
<video width="100%" controls>
|
69
|
+
<source src="./static/demo.mp4" type="video/mp4">
|
70
|
+
Your browser does not support the video tag.
|
71
|
+
</video>
|
72
|
+
|
73
|
+
_Demo: Converting markdown to structured Notion content with callouts, columns, and tables_
|
74
|
+
|
67
75
|
```python
|
68
76
|
import asyncio
|
69
77
|
from notionary import NotionPage, NotionDatabase
|
@@ -111,6 +119,13 @@ asyncio.run(main())
|
|
111
119
|
|
112
120
|
### Create Rich Database Entries
|
113
121
|
|
122
|
+
<video width="100%" controls>
|
123
|
+
<source src="./static/create_page_in_database_demo.mp4" type="video/mp4">
|
124
|
+
Your browser does not support the video tag.
|
125
|
+
</video>
|
126
|
+
|
127
|
+
_Demo: Creating a styled project page in a Notion database with properties, content, and rich formatting_
|
128
|
+
|
114
129
|
```python
|
115
130
|
# Work with databases - connect and create styled entries
|
116
131
|
db = await NotionDatabase.from_database_name("Projects")
|
@@ -1,28 +1,28 @@
|
|
1
|
-
notionary/__init__.py,sha256=
|
1
|
+
notionary/__init__.py,sha256=qFQ-hZah6dNnzgDYUfx7ifrkyXWpJoKFk1rwZyVuUSE,614
|
2
2
|
notionary/base_notion_client.py,sha256=EKExy91oeVHdknK-XU2IkKB6SJgN96ZfbblRK05wnV4,7071
|
3
|
-
notionary/blocks/__init__.py,sha256
|
3
|
+
notionary/blocks/__init__.py,sha256=-SsbyEnYg4YbrpJgE1zFRTelwIWva-QRqDZZZV2sTkY,85
|
4
4
|
notionary/blocks/_bootstrap.py,sha256=8xs6EDSPdGNr7NsrxmH2pg1dvVjfbghX5N74tRALKog,9450
|
5
|
-
notionary/blocks/audio/__init__.py,sha256=
|
6
|
-
notionary/blocks/audio/audio_element.py,sha256=
|
7
|
-
notionary/blocks/audio/audio_markdown_node.py,sha256=
|
5
|
+
notionary/blocks/audio/__init__.py,sha256=l3mCypwOOJ1HCz4pMANlKrrV5sAWaCoU2qGQryuKOwg,304
|
6
|
+
notionary/blocks/audio/audio_element.py,sha256=FjKzdSgy-pid-iBSDb001eR3Pgpgce1PbFZwvFHEA68,6429
|
7
|
+
notionary/blocks/audio/audio_markdown_node.py,sha256=dlJWuQNeEYawol-ItdKzp-n3TUe9On0Zyl01DgBWwFM,795
|
8
8
|
notionary/blocks/audio/audio_models.py,sha256=ts281Wgjh0FQBK4a6IKKNGPcG0U18T1euCgo83-JSg4,229
|
9
9
|
notionary/blocks/base_block_element.py,sha256=r9W3EHIwQ2A824x2MlFGTfQpZjMvfB-fUVTI2x3peyc,1546
|
10
|
-
notionary/blocks/bookmark/__init__.py,sha256=
|
10
|
+
notionary/blocks/bookmark/__init__.py,sha256=Sln6BmxZBV-7ZaVDOSEWQ8pOL-ZHWHN25EjgqxPbIqQ,377
|
11
11
|
notionary/blocks/bookmark/bookmark_element.py,sha256=y6wkdRor3cn9n5gE1pFnH6bc5B43YYqrwWHTXrC0GPs,3399
|
12
|
-
notionary/blocks/bookmark/bookmark_markdown_node.py,sha256=
|
12
|
+
notionary/blocks/bookmark/bookmark_markdown_node.py,sha256=O9HpnQQpTwZdSYk0eTP0NNw2mL4c8Mob4jl6DmBjnhY,939
|
13
13
|
notionary/blocks/bookmark/bookmark_models.py,sha256=kJTitF93xd0YITvP_FuwpjnBUNLeDMr7fDAXV8MAJrk,375
|
14
|
-
notionary/blocks/breadcrumbs/__init__.py,sha256=
|
14
|
+
notionary/blocks/breadcrumbs/__init__.py,sha256=dcy-EsClgdlUqEDJSKBYvZBEttCGemABaeqZcZp5jKc,424
|
15
15
|
notionary/blocks/breadcrumbs/breadcrumb_element.py,sha256=cVZHiMqaYL4EGphnX1OCh3Inf93TFwFosB-1PGCS2do,1268
|
16
|
-
notionary/blocks/breadcrumbs/breadcrumb_markdown_node.py,sha256=
|
16
|
+
notionary/blocks/breadcrumbs/breadcrumb_markdown_node.py,sha256=XxJoC_2TwfkE0bxeWeisRGCA2Qhg66G27qBxsmiyjGc,359
|
17
17
|
notionary/blocks/breadcrumbs/breadcrumb_models.py,sha256=-XGIIMYiQuGe5iXmW-1Y9Y9Yca0w6u3HbiD1SBue8sI,237
|
18
|
-
notionary/blocks/bulleted_list/__init__.py,sha256=
|
18
|
+
notionary/blocks/bulleted_list/__init__.py,sha256=ypxv5AGCrkiOUCcLni3iVg3-XfWHZB9Ksf5GV6DOlkU,471
|
19
19
|
notionary/blocks/bulleted_list/bulleted_list_element.py,sha256=YY2kOCgFinD7Mk6Ns9KLxm4KlNtlZoT87zcrEpq97HM,3095
|
20
|
-
notionary/blocks/bulleted_list/bulleted_list_markdown_node.py,sha256=
|
21
|
-
notionary/blocks/bulleted_list/bulleted_list_models.py,sha256=
|
22
|
-
notionary/blocks/callout/__init__.py,sha256=
|
20
|
+
notionary/blocks/bulleted_list/bulleted_list_markdown_node.py,sha256=Rnc-zYttdVR4gl7mIkxqoRg7I8LHR7rkd1pmXdcfvLk,523
|
21
|
+
notionary/blocks/bulleted_list/bulleted_list_models.py,sha256=QN21PIwAP7MQoIjZeUBwMUKTZrK6-QbDu-8NFSvpjLQ,504
|
22
|
+
notionary/blocks/callout/__init__.py,sha256=17rdvOF5W1aPxkp-pk13rLgkx6pIciCsub3ncAv_zXk,363
|
23
23
|
notionary/blocks/callout/callout_element.py,sha256=6Ss1jv1cqAM4GuNGvuy7dCFjpp-dLavf-wXevn3IEmw,3575
|
24
|
-
notionary/blocks/callout/callout_markdown_node.py,sha256=
|
25
|
-
notionary/blocks/callout/callout_models.py,sha256=
|
24
|
+
notionary/blocks/callout/callout_markdown_node.py,sha256=2zZNMwg8uiGBqaMOUVOTlIK8kiq20IQ0Ylv7ZFUm-bc,602
|
25
|
+
notionary/blocks/callout/callout_models.py,sha256=E58ko2ujDV80HlI20S9etbCMTm6a_IaSp9waUozWTa8,863
|
26
26
|
notionary/blocks/child_database/__init__.py,sha256=FzjjHOS9Je2oXuxLK9S9Oq56-EDEZRTJBfDzkacFpY0,368
|
27
27
|
notionary/blocks/child_database/child_database_element.py,sha256=1pxtoB_XTIWorYp984TpsPMZy8A5IdQ15nJALyzme-c,2279
|
28
28
|
notionary/blocks/child_database/child_database_models.py,sha256=SP6S9tKTetKNdCkYY3QCxeXd2lq1DyfdNvDhKlhD22Q,264
|
@@ -32,92 +32,95 @@ notionary/blocks/child_page/child_page_models.py,sha256=LZhziu2nf-8FopcaQi6dJKOJ
|
|
32
32
|
notionary/blocks/client.py,sha256=9rhfWM3LNxYrB0bez2RKLGE2gVnBaJbrQa1qu6FSKVE,8692
|
33
33
|
notionary/blocks/code/__init__.py,sha256=8mTDHndNb4kzDByETe2gG7-YHMrt18cf_gmV60JXHOc,345
|
34
34
|
notionary/blocks/code/code_element.py,sha256=-8b63RxD7qJzOkMMF_eLo-z9TdsI33r0JUJc5cyFAzs,5661
|
35
|
-
notionary/blocks/code/code_markdown_node.py,sha256=
|
35
|
+
notionary/blocks/code/code_markdown_node.py,sha256=ZfZE9JOmBwAvkEua0wA_W9wCAjl52YBq4UrTBVlVjRM,2655
|
36
36
|
notionary/blocks/code/code_models.py,sha256=hK-Ka9whQO-xWASr0sbhRcz-FUc5VY5Pjqa8LPW041o,2178
|
37
|
-
notionary/blocks/column/__init__.py,sha256=
|
37
|
+
notionary/blocks/column/__init__.py,sha256=r0XRwU3cEo6Te-4XkiVOPtd_VHlEVchgoI7e-jNQ9Ic,698
|
38
38
|
notionary/blocks/column/column_element.py,sha256=1BtZ5EWq1QpUEAh-OEpvZOTZfeFFDyDKCZCSo8nskJw,2338
|
39
39
|
notionary/blocks/column/column_list_element.py,sha256=gyAZ_Q79g5sEp24IbHHXZvyX8BRmN1jo6ahoVxXxR4E,2398
|
40
|
-
notionary/blocks/column/column_list_markdown_node.py,sha256=
|
41
|
-
notionary/blocks/column/column_markdown_node.py,sha256=
|
40
|
+
notionary/blocks/column/column_list_markdown_node.py,sha256=PW72mCWt2n-IuAYv6DwLbT_nlE0S2ka2pCfQZ9YC6_o,952
|
41
|
+
notionary/blocks/column/column_markdown_node.py,sha256=ryedjyw9z_y-SUWb7M8J-LO9-pcdE3DEscETVgIYBPk,1156
|
42
42
|
notionary/blocks/column/column_models.py,sha256=Dv1jBWmuFjjSqyOajkh05jmxEwxF9b-LuDA4Sgw8RJI,664
|
43
|
-
notionary/blocks/divider/__init__.py,sha256=
|
43
|
+
notionary/blocks/divider/__init__.py,sha256=rDbsdRmtXBVh-5LgmgO0Wq4y6jChy7lpxyaUd5WU2wk,363
|
44
44
|
notionary/blocks/divider/divider_element.py,sha256=MHPctdc5-EwxTrcoA4EjEgiFzWnDZqHziKBoz6xZMrQ,1395
|
45
|
-
notionary/blocks/divider/divider_markdown_node.py,sha256=
|
45
|
+
notionary/blocks/divider/divider_markdown_node.py,sha256=2yZYUMeNNG8ncmwzrn-WDj4JHAhYyaPyb9mQGNk22Cg,314
|
46
46
|
notionary/blocks/divider/divider_models.py,sha256=A7jUBYZnE_yRLTZi-sr9sbDCrWNhAdriFNzCpDEBwGU,219
|
47
|
-
notionary/blocks/embed/__init__.py,sha256=
|
47
|
+
notionary/blocks/embed/__init__.py,sha256=yQehCntnQpyyP0qS6H0HpZlTg2jdOJo47kb-Gq0O8Ec,335
|
48
48
|
notionary/blocks/embed/embed_element.py,sha256=xzDBA4OS2O4OASXRoy2oFO5WEm3hF4dVEryokGm8bwk,3594
|
49
|
-
notionary/blocks/embed/embed_markdown_node.py,sha256=
|
49
|
+
notionary/blocks/embed/embed_markdown_node.py,sha256=0VJg6THsgVOGxxA7U-GakzNyNHDt7yqC8SJM3kvIO48,563
|
50
50
|
notionary/blocks/embed/embed_models.py,sha256=utXtHlIIK5QA24ZJW7l0XfDtrt12DureH1DugOi9mNw,366
|
51
|
-
notionary/blocks/equation/__init__.py,sha256
|
51
|
+
notionary/blocks/equation/__init__.py,sha256=-6JSN3DSmf56TgkAeClAkfhH3jtHIx0MPSD2NQBRh7Q,421
|
52
52
|
notionary/blocks/equation/equation_element.py,sha256=EME_KVHjdO9e7xnuFxlmkbzRcL1b8LrEikYzXXZGNMM,4750
|
53
|
-
notionary/blocks/equation/equation_element_markdown_node.py,sha256=
|
53
|
+
notionary/blocks/equation/equation_element_markdown_node.py,sha256=VIPSdhsyh5xhGq5INY4I8dvjNZlW_2536YmdGlfwnqM,612
|
54
54
|
notionary/blocks/equation/equation_models.py,sha256=WIpnqHmwh2rpNTVvt6eFNzkhHejW8XMWDQbwtLIcxKw,245
|
55
|
-
notionary/blocks/file/__init__.py,sha256=
|
56
|
-
notionary/blocks/file/file_element.py,sha256=
|
57
|
-
notionary/blocks/file/file_element_markdown_node.py,sha256=
|
55
|
+
notionary/blocks/file/__init__.py,sha256=J40Bp-eyyzDzOU-OQ51duLHVlBtb_0WkUWumyRXyAUs,517
|
56
|
+
notionary/blocks/file/file_element.py,sha256=6B7gtn6wt7w3vnKGFZS4rmzU7FG-I_LYjFsiCtMy7i4,5203
|
57
|
+
notionary/blocks/file/file_element_markdown_node.py,sha256=XLEq6nMd5j8BesmPqTIxgdb33Rn3dXZ_YS7siowjgSU,801
|
58
58
|
notionary/blocks/file/file_element_models.py,sha256=1eia1-OamnF52AUYtC3Ru-xi6HHsnjw9hcuslkHKXuI,850
|
59
|
-
notionary/blocks/
|
60
|
-
notionary/blocks/heading/__init__.py,sha256=dg2hCVsqWv84hvtb6HAb4m1i8b0jyLXokPIYwe5NwZ8,557
|
59
|
+
notionary/blocks/heading/__init__.py,sha256=aaHtYkTQwCd7vMS4gaRYMuIS3oBhnwUJHEtMmHIzLkM,489
|
61
60
|
notionary/blocks/heading/heading_element.py,sha256=Hdnlzj94AoYCMYZuVOl91tREn1S6hwolA4vWwMtAFWk,3894
|
62
|
-
notionary/blocks/heading/heading_markdown_node.py,sha256=
|
63
|
-
notionary/blocks/heading/heading_models.py,sha256=
|
64
|
-
notionary/blocks/image_block/__init__.py,sha256=
|
65
|
-
notionary/blocks/image_block/image_element.py,sha256=
|
66
|
-
notionary/blocks/image_block/image_markdown_node.py,sha256=
|
61
|
+
notionary/blocks/heading/heading_markdown_node.py,sha256=F5VLPto88EkBnWV0h8djs3wXhW76N0cq4fx9TWHSuuo,486
|
62
|
+
notionary/blocks/heading/heading_models.py,sha256=CBmLRPIsKwoKKQfEEeRqT1lZj_pDa7pkwIxKB-hwuus,784
|
63
|
+
notionary/blocks/image_block/__init__.py,sha256=MviMkAqQpTDA8dyooWNRn65XfbWfclRz0PMuGD5BYf0,322
|
64
|
+
notionary/blocks/image_block/image_element.py,sha256=_aERfgLksOJPlAIrZ74PvWwJvSn5eMoEebK9KwVPuOk,5263
|
65
|
+
notionary/blocks/image_block/image_markdown_node.py,sha256=aqkvNpNshvYKnLCS5aLsQU2slFys7VFKRVJgwnuLdOw,840
|
67
66
|
notionary/blocks/image_block/image_models.py,sha256=vmuGwgq3uP9ojb-6IOdjsEqIKI-9uTa5_0BCMkzJV_A,229
|
67
|
+
notionary/blocks/markdown/markdown_builder.py,sha256=alruyT9IbrCjbpLeQ_1pZKdZlWW4NgmzVp4XpVwOG30,17473
|
68
|
+
notionary/blocks/markdown/markdown_document_model.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
69
|
+
notionary/blocks/markdown/markdown_node.py,sha256=I1E6VyIoFiM7za2krikuQHFHu2_YNq9S7Cz36Rj8iSw,699
|
68
70
|
notionary/blocks/mixins/captions/__init__.py,sha256=hGq6UOBiSgnaWB9UXgvtuG2sLPNgs5GAaz-8vrBmh2Q,166
|
69
71
|
notionary/blocks/mixins/captions/caption_markdown_node_mixin.py,sha256=uaT_k7cfJgDhvdAavPmRJJHeEcwVECe21dcawcffHVE,1021
|
70
72
|
notionary/blocks/mixins/captions/caption_mixin.py,sha256=6H69_bkUWSy2vNdW01kEJuOyIopZYoL3fMQ3T7xe6XI,3342
|
73
|
+
notionary/blocks/mixins/file_upload/__init__.py,sha256=VUGw4QPs01w6cUMaWMDv5p0htKZZAjiZ9RqFilVszz8,81
|
74
|
+
notionary/blocks/mixins/file_upload/file_upload_mixin.py,sha256=hyNSn7NQigSh1__HYWDOYzFQkGt9xuzXhKei_1ZoWlo,10858
|
71
75
|
notionary/blocks/models.py,sha256=cwUgc3wjrKA6MiEnZzCpHS35Y54jPHlIrKRPUNjZm0s,5835
|
72
|
-
notionary/blocks/numbered_list/__init__.py,sha256=
|
76
|
+
notionary/blocks/numbered_list/__init__.py,sha256=Q6fCQ0j9UAas8hgMiTtXpCP-RxglVnNeRK4naFgDppw,511
|
73
77
|
notionary/blocks/numbered_list/numbered_list_element.py,sha256=ZPoLYCj0xJXeWdjeJImuTeVWd1fqeByLzMj29V4Yf1Y,2755
|
74
|
-
notionary/blocks/numbered_list/numbered_list_markdown_node.py,sha256
|
75
|
-
notionary/blocks/numbered_list/numbered_list_models.py,sha256=
|
76
|
-
notionary/blocks/paragraph/__init__.py,sha256=
|
78
|
+
notionary/blocks/numbered_list/numbered_list_markdown_node.py,sha256=-GrG39S6k1OpoJqzotY9C2NhdP7HcNto0sTtNRDfPsg,481
|
79
|
+
notionary/blocks/numbered_list/numbered_list_models.py,sha256=N_h2okhIFtnE8gkTfdUbt_cM9M-6rwbn3lxWtwkLfi4,566
|
80
|
+
notionary/blocks/paragraph/__init__.py,sha256=9OSS-ZZFetlnwjCI2PmFDVJo9dV1YIUWUl0CTHJ0mJo,407
|
77
81
|
notionary/blocks/paragraph/paragraph_element.py,sha256=cp90cL0hi9gvIoefmxd-U_xM4z5YiTYt3yO7NQ-Hyvg,2478
|
78
|
-
notionary/blocks/paragraph/paragraph_markdown_node.py,sha256=
|
82
|
+
notionary/blocks/paragraph/paragraph_markdown_node.py,sha256=aCYJv58EiyKi-DgQEbkwnkZT4NTANHAnWzoOzVQ1cBc,436
|
79
83
|
notionary/blocks/paragraph/paragraph_models.py,sha256=Hm4IXYNrKqNqMy6QUt6SnIiVNZU_4a-27BH7fNBjc0o,429
|
80
|
-
notionary/blocks/pdf/__init__.py,sha256=
|
81
|
-
notionary/blocks/pdf/pdf_element.py,sha256=
|
82
|
-
notionary/blocks/pdf/pdf_markdown_node.py,sha256=
|
84
|
+
notionary/blocks/pdf/__init__.py,sha256=qS6v00Rh9GXTCohnV8-yvhtt6eHmKhCegxUK1Vvl86k,280
|
85
|
+
notionary/blocks/pdf/pdf_element.py,sha256=kUBQW0m1GMrKHBt591TJDViiQ-ZLeEIqLRLJWqR-eew,5822
|
86
|
+
notionary/blocks/pdf/pdf_markdown_node.py,sha256=wKptmG1I1v9QteP_SoKmbOofSh458lcQ1-8nLKA9aS0,802
|
83
87
|
notionary/blocks/pdf/pdf_models.py,sha256=k3GB01LNDWnvcxj-gtHSMYAwElrDqFdXkw6DFjlpZNY,293
|
84
|
-
notionary/blocks/quote/__init__.py,sha256=
|
88
|
+
notionary/blocks/quote/__init__.py,sha256=Hu3v0RfYH-9CSKazI2IcaddaePY8c6Y7o03qsppruZw,380
|
85
89
|
notionary/blocks/quote/quote_element.py,sha256=X7YZrhg94rgvWuRi96hbetbMx_FJbYGsmto1P_Am34I,2795
|
86
|
-
notionary/blocks/quote/quote_markdown_node.py,sha256=
|
90
|
+
notionary/blocks/quote/quote_markdown_node.py,sha256=o7oe6XY0s1zocC79SVRLGIZ0VoGHv5znXzBtTTN47EQ,405
|
87
91
|
notionary/blocks/quote/quote_models.py,sha256=XT1hDfYw8SZUEg-rPfHiC4_0LNVWK-Vs7J6h9PIGgNE,506
|
88
|
-
notionary/blocks/registry/__init__.py,sha256=
|
89
|
-
notionary/blocks/registry/block_registry.py,sha256=
|
90
|
-
notionary/blocks/registry/block_registry_builder.py,sha256=a-oID7OpW4b1bEhhsQOOnwK8evlJem-MralvdhaMYno,8866
|
92
|
+
notionary/blocks/registry/__init__.py,sha256=NswYfZQLLUlLlR5Gtdg1tAafyO9lXLldbeC5Y7WgLYk,74
|
93
|
+
notionary/blocks/registry/block_registry.py,sha256=N26nAWoNxfBlSt4gTWiJ1mqjajkcj2anAt9iDht1vDk,5394
|
91
94
|
notionary/blocks/rich_text/__init__.py,sha256=UuOn0MmGKNqK3fLBnEcH2surwbDkZ4GF8Gpn4TLNwLc,773
|
92
95
|
notionary/blocks/rich_text/rich_text_models.py,sha256=QPCHA-vo8DoH7sLAVzOXervoeeV39JRuJkR-IGVA63Y,6278
|
93
96
|
notionary/blocks/rich_text/text_inline_formatter.py,sha256=8J8y27OuMLX-IvSJs0Ogmvw0gw1bgQD9n55nRjSldbg,18379
|
94
97
|
notionary/blocks/syntax_prompt_builder.py,sha256=VwvpR8JyyKR13_ni0jUt--F7w6DoD_nzJB2LbwiJXJc,4626
|
95
|
-
notionary/blocks/table/__init__.py,sha256=
|
98
|
+
notionary/blocks/table/__init__.py,sha256=Z9AJN899NDlGP8M0AnMBBJmy2XqZ5jLz2-EXr-u3YV0,447
|
96
99
|
notionary/blocks/table/table_element.py,sha256=eeqFHlyQ1dG1ZxB3zdrdvF5qXPsLqSEVyNQJ70W9Rwg,8002
|
97
|
-
notionary/blocks/table/table_markdown_node.py,sha256=
|
100
|
+
notionary/blocks/table/table_markdown_node.py,sha256=PJRgcCrChQQd_REuqmxRpYeKqMXQj_fd8o7O69c930A,1330
|
98
101
|
notionary/blocks/table/table_models.py,sha256=P0VUkX8FOE6aFWAyhOVVMVAYGtj_LO0sqSYtlbyCpQA,643
|
99
|
-
notionary/blocks/table_of_contents/__init__.py,sha256=
|
100
|
-
notionary/blocks/table_of_contents/table_of_contents_element.py,sha256=
|
101
|
-
notionary/blocks/table_of_contents/table_of_contents_markdown_node.py,sha256=
|
102
|
-
notionary/blocks/table_of_contents/table_of_contents_models.py,sha256=
|
103
|
-
notionary/blocks/todo/__init__.py,sha256=
|
102
|
+
notionary/blocks/table_of_contents/__init__.py,sha256=4kLR62Uqijn7A6sUGoS6H_RewYo3E0-kM9-7RkLaJM4,514
|
103
|
+
notionary/blocks/table_of_contents/table_of_contents_element.py,sha256=YRMVPf09sB39kYCocwdGtezBXdPs1-04rm8J4Nln6xQ,3222
|
104
|
+
notionary/blocks/table_of_contents/table_of_contents_markdown_node.py,sha256=T4cqadSo0W__WW36Sybh0VVMbx_c9-gGYzLVDVu8XRU,560
|
105
|
+
notionary/blocks/table_of_contents/table_of_contents_models.py,sha256=QcxH8EHE4WSOv4lFlpyztpul7IQuc6wdGqNZkAUOZ9s,551
|
106
|
+
notionary/blocks/todo/__init__.py,sha256=MDQQ67F7sbKtIYSU8FWgzKCgAiOKpxUfzvH0WTF5-9k,321
|
104
107
|
notionary/blocks/todo/todo_element.py,sha256=8rH84wHH1FEFnVd76AZrT-c-BpkwaN9hLQK7CWMCbBY,3092
|
105
|
-
notionary/blocks/todo/todo_markdown_node.py,sha256=
|
106
|
-
notionary/blocks/todo/todo_models.py,sha256=
|
107
|
-
notionary/blocks/toggle/__init__.py,sha256=
|
108
|
+
notionary/blocks/todo/todo_markdown_node.py,sha256=tvXEoIsc21hnLJh2-ESXWp9p0gVGwHZULhc5JWPHjXQ,733
|
109
|
+
notionary/blocks/todo/todo_models.py,sha256=lWzZeQ164tQlwAXWAWCnaRIvKUhOZBnCNCpGwUDyLMo,476
|
110
|
+
notionary/blocks/toggle/__init__.py,sha256=g92ihlvQuLGYNDzcYSCexK01WZbAOVNfZBSgOSSbTvA,349
|
108
111
|
notionary/blocks/toggle/toggle_element.py,sha256=O_gv3Xz0vxtJ3-1Hi07xBbrpgLDo9FKZ_OESOhbvpAQ,4618
|
109
|
-
notionary/blocks/toggle/toggle_markdown_node.py,sha256=
|
112
|
+
notionary/blocks/toggle/toggle_markdown_node.py,sha256=qFVZsoksi82t4Iy5WwsUE9nDu4VOb8t35vgkHmkFOmU,862
|
110
113
|
notionary/blocks/toggle/toggle_models.py,sha256=Tkqmz7bzKX7v-T9xWZLy9Eiw_ksGg4UZaacE30uZmwI,521
|
111
|
-
notionary/blocks/toggleable_heading/__init__.py,sha256=
|
114
|
+
notionary/blocks/toggleable_heading/__init__.py,sha256=96BPG37gqHtOxWiBemrubK8AyIBtbTJuRDUn7imEHLY,324
|
112
115
|
notionary/blocks/toggleable_heading/toggleable_heading_element.py,sha256=y3tBDWmi3IeyhFyJEmsFndhlrQls5XhJVUGUVORnXUY,4428
|
113
|
-
notionary/blocks/toggleable_heading/toggleable_heading_markdown_node.py,sha256=
|
116
|
+
notionary/blocks/toggleable_heading/toggleable_heading_markdown_node.py,sha256=lqUChE-4NOvtFxhTjg0uRBWT7WQI5hd5arHJ6eBkKno,1056
|
114
117
|
notionary/blocks/types.py,sha256=qAmcxIGQcekrLsbNZVjOcI3HYmvHz5bzFFj8Asuh8JI,3567
|
115
|
-
notionary/blocks/video/__init__.py,sha256=
|
116
|
-
notionary/blocks/video/video_element.py,sha256=
|
118
|
+
notionary/blocks/video/__init__.py,sha256=eDWiVkZYbsXqgBhdHY2ge9R21ml7-BTAMJ3T3HCajdY,312
|
119
|
+
notionary/blocks/video/video_element.py,sha256=D8CrlxKSrgRpBE9O9i1Udir85dFq3r3CYRabSIWWxWI,7149
|
117
120
|
notionary/blocks/video/video_element_models.py,sha256=CYK2tq0qhrOxjO_ctOgRvEHM9hLjQCBXrP7wcTNlUPw,229
|
118
|
-
notionary/blocks/video/video_markdown_node.py,sha256=
|
121
|
+
notionary/blocks/video/video_markdown_node.py,sha256=ORbLqVvl_o9YJrDOLUOMk7mnxyl1NSKjbMDwLPbdCSM,844
|
119
122
|
notionary/comments/__init__.py,sha256=G0OWsaN2VgbykvhLlNSweL_f0bl16j9NpidH2UNbFcQ,529
|
120
|
-
notionary/comments/client.py,sha256=
|
123
|
+
notionary/comments/client.py,sha256=vWjgPFk_TPY7peq10aJc7WTG-b0q6Fn8qirAlzlqLls,7311
|
121
124
|
notionary/comments/models.py,sha256=O2-yg-0Xrs8xrzLUa4793FlyNn3HbTRsv4dqaskI6ps,3409
|
122
125
|
notionary/database/__init__.py,sha256=4tdML0fBzkOCpiWT6q-L--5NELFLbTPD0IUA_E8yZno,155
|
123
126
|
notionary/database/client.py,sha256=mN_8XHvIQkRxiWbgBfvncgw4IRiCFX3bVLMLBvtk1Ig,5398
|
@@ -129,33 +132,28 @@ notionary/database/factory.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
|
|
129
132
|
notionary/database/models.py,sha256=4LjnsltPLK4xddz_d_L7I-TnmixyCuqmKV5Mapa2i1I,7603
|
130
133
|
notionary/database/notion_database.py,sha256=DNsb_YuMg9Fix8OmKMBBN0FSlCGNWbDbG7GIsrSOgK0,16744
|
131
134
|
notionary/file_upload/__init__.py,sha256=7TNyiIgLMD_IGRXTwRiAmStokF3rLoG4zXPwNb9KQqk,168
|
132
|
-
notionary/file_upload/client.py,sha256=
|
133
|
-
notionary/file_upload/models.py,sha256=
|
134
|
-
notionary/file_upload/notion_file_upload.py,sha256=
|
135
|
-
notionary/markdown/___init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
136
|
-
notionary/markdown/makdown_document_model.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
137
|
-
notionary/markdown/markdown_builder.py,sha256=q9J7FduIxrf8hSPu_5P4ZwYaGVZdvpe-qa0dyaRsBJ0,26379
|
138
|
-
notionary/markdown/markdown_document_model.py,sha256=i9zMINcTlTwlqpHV9zeQfMVlni2VAl6BMjAdKSdoUeg,6409
|
139
|
-
notionary/markdown/markdown_node.py,sha256=u8ApehnTCo1KnTFbtYzGuTAyUQrYPc3RSMJaUMyg0LI,717
|
140
|
-
notionary/models/notion_database_response.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
135
|
+
notionary/file_upload/client.py,sha256=yzVCHVPkkQfPWb6Nz2QUC6XO21KJahddili2XnCTmvc,8582
|
136
|
+
notionary/file_upload/models.py,sha256=bSNgw5WzkOuotyalqkkcVC_Ue6YRHR-CSJV7nZRV_RY,1768
|
137
|
+
notionary/file_upload/notion_file_upload.py,sha256=vOEEh8g8Sj4JedrK9e-NYjJ0HXH3iGdM5N74kkVXVZQ,13221
|
141
138
|
notionary/page/client.py,sha256=IOsjWOsmODxOq-7OF0y-gcuC2HUbMIT0SvJZHrH9weQ,4520
|
139
|
+
notionary/page/markdown_whitespace_processor.py,sha256=SbWLL6bdeTGds_khDNX2mQe00lGYUFvH6PX8_xpNvBA,4634
|
142
140
|
notionary/page/models.py,sha256=pD8FlK8KtnUrIITTd2jg_yJICakgPE4ysZiS9KiMpr0,7088
|
143
|
-
notionary/page/notion_page.py,sha256=
|
144
|
-
notionary/page/page_content_deleting_service.py,sha256=
|
145
|
-
notionary/page/page_content_writer.py,sha256=
|
146
|
-
notionary/page/page_context.py,sha256=
|
141
|
+
notionary/page/notion_page.py,sha256=6aQqAqiEg6gb5lISKkV6a2UzIixgOZ-7eivlvXpyHvc,23689
|
142
|
+
notionary/page/page_content_deleting_service.py,sha256=G3im6VotG1tgI-SaqoQR-gSnOloF6CEnft1qxLps4as,4546
|
143
|
+
notionary/page/page_content_writer.py,sha256=t8N7yfW--ac7szvDmTdecFEfcF5Nz95vyCQ-lpYcOUw,3046
|
144
|
+
notionary/page/page_context.py,sha256=27vrTRZP7NsaS4dEp4pBNR30Re2hh00qKlL3xt4YtpI,1773
|
147
145
|
notionary/page/property_formatter.py,sha256=_978ViH83gfcr-XtDscWTfyBI2srGW2hzC-gzgp5NR8,3788
|
148
146
|
notionary/page/reader/handler/__init__.py,sha256=ROMH1KvGGdQ0ANLhmIP_4LtMks9jsTTwnZKP8W0uwls,644
|
149
147
|
notionary/page/reader/handler/base_block_renderer.py,sha256=HZwv727bvu6suT1-uzK4y-4ci54VCdi0FF_yOJYBB1g,1513
|
150
148
|
notionary/page/reader/handler/block_processing_context.py,sha256=eSNpjQ3tpOc7sJgEm-2UAwd1UvCf-B4CtHJLS5B0lZA,1001
|
151
149
|
notionary/page/reader/handler/block_rendering_context.py,sha256=o3ASovI71jtffDeKVtx7hZqg7P6-qXvkWBft7ZqOa_s,1583
|
152
|
-
notionary/page/reader/handler/column_list_renderer.py,sha256=
|
153
|
-
notionary/page/reader/handler/column_renderer.py,sha256=
|
150
|
+
notionary/page/reader/handler/column_list_renderer.py,sha256=dPp4q13s5Fkn6HAQ1oFZ6e6phepjnqz_fFuFHSMDJ9c,2023
|
151
|
+
notionary/page/reader/handler/column_renderer.py,sha256=JkpgS9IbiNkMQozBqfqn341ThmDF71FAv3Rq8ewAa2E,2324
|
154
152
|
notionary/page/reader/handler/equation_renderer.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
155
|
-
notionary/page/reader/handler/line_renderer.py,sha256=
|
153
|
+
notionary/page/reader/handler/line_renderer.py,sha256=4Q4fHRvcWSjuDjTDVPn-My6PF8arfoAjzUqEb2MIg34,2917
|
156
154
|
notionary/page/reader/handler/numbered_list_renderer.py,sha256=tFDfMYxFme1PuNBNi2kbIb13MGNLP5n2-NpLoEklR1E,3480
|
157
|
-
notionary/page/reader/handler/toggle_renderer.py,sha256=
|
158
|
-
notionary/page/reader/handler/toggleable_heading_renderer.py,sha256=
|
155
|
+
notionary/page/reader/handler/toggle_renderer.py,sha256=n-HdxKmD3mwKTbgX-FBe71F-8KmBrYeG-nmjFJUb9Gw,2605
|
156
|
+
notionary/page/reader/handler/toggleable_heading_renderer.py,sha256=ZfmUbM0D4AvUI-bJIy5sH3Eer31Frg0Gl-hereT4A1w,3386
|
159
157
|
notionary/page/reader/page_content_retriever.py,sha256=ruzRISReupp5TbVwmVjURBk8wE35YYatNpDFpSpnEEQ,2854
|
160
158
|
notionary/page/search_filter_builder.py,sha256=m8NbFUoxxCEBpcWZIxClyix8NNzeohsOw7D-Fddi-qA,4599
|
161
159
|
notionary/page/utils.py,sha256=2nfBrWeczBdPH13R3q8dKP4OY4MwEdfKbcs2UJ9kg1o,2041
|
@@ -168,15 +166,15 @@ notionary/page/writer/handler/line_handler.py,sha256=miuU7MXJj1Ae_B_r4a84s9tJaJ8
|
|
168
166
|
notionary/page/writer/handler/line_processing_context.py,sha256=F2GxDXIOgvZHxiDP-VDe8JUHGcsszMexPG0W9E9y39E,1739
|
169
167
|
notionary/page/writer/handler/regular_line_handler.py,sha256=2T8xOi4ybcugMJL-sPyVvU0KRVQzFSPpvLibrixIJLA,3223
|
170
168
|
notionary/page/writer/handler/table_handler.py,sha256=5r-Uh5Unc0iTbl3PXEDvE6qVCrp6YSprpOP9FRnaLY8,2581
|
171
|
-
notionary/page/writer/handler/toggle_handler.py,sha256=
|
172
|
-
notionary/page/writer/handler/toggleable_heading_handler.py,sha256=
|
173
|
-
notionary/page/writer/markdown_to_notion_converter.py,sha256=
|
169
|
+
notionary/page/writer/handler/toggle_handler.py,sha256=619JPGxxyfLJ_wlubTTPGK17t5mULDhXM-egpeBcWqc,6013
|
170
|
+
notionary/page/writer/handler/toggleable_heading_handler.py,sha256=ZChU93q1NXFK9eW0oyR4y8wVXmxpuExPvRE2CxkoPOc,6938
|
171
|
+
notionary/page/writer/markdown_to_notion_converter.py,sha256=H_VWBBbpYpDzJ-5BkC5vONiyNZ4nHa3BP_8lOry_x9w,5086
|
174
172
|
notionary/page/writer/markdown_to_notion_converter_context.py,sha256=Tys52QEGOzE_zDICI8W6pawCKSFGAjEqOyWTscUUysU,1033
|
175
|
-
notionary/page/writer/markdown_to_notion_formatting_post_processor.py,sha256=E41t_TQYLbFTmOzREDrGOUy4gGiSu9pAP8No5Qpsi28,2368
|
176
|
-
notionary/page/writer/markdown_to_notion_post_processor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
177
173
|
notionary/page/writer/markdown_to_notion_text_length_post_processor.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
178
174
|
notionary/page/writer/notion_text_length_processor.py,sha256=WfXGouHs2KUFH1ASqloRkV6y7q2jS4vqbiEEMrmd7Qw,5744
|
179
|
-
notionary/
|
175
|
+
notionary/schemas/__init__.py,sha256=1Wmrf4ZyU08kpvMs6KPFq11WVjSie7eM6b6rwTX9Xgw,76
|
176
|
+
notionary/schemas/base.py,sha256=iLccLV2gjGZwHFCC8mzhKKZl7MQwD-virUdFdxuJRpA,2536
|
177
|
+
notionary/shared/__init__.py,sha256=RfgVsRZHe1XVB5AjEwPzd_mSyOwpFKaBEfXMCbrXw7o,81
|
180
178
|
notionary/shared/name_to_id_resolver.py,sha256=SlxB2vmq1cMIZnL0o3U27wjYQSXeQkKURmKFy-BAqk4,6318
|
181
179
|
notionary/telemetry/__init__.py,sha256=uzPrvkPIpbzPSHCu-tObCTmZA18l3VWqk42L8WLT-XM,511
|
182
180
|
notionary/telemetry/service.py,sha256=FujT1ZuSHzTO0Rxa6oKlycE_Y-Qpe5lc59EGzzDf-jc,4725
|
@@ -198,7 +196,7 @@ notionary/util/page_id_utils.py,sha256=AA00kRO-g3Cc50tf_XW_tb5RBuPKLuBxRa0D8LYhL
|
|
198
196
|
notionary/util/singleton.py,sha256=CKAvykndwPRZsA3n3MAY_XdCR59MBjjKP0vtm2BcvF0,428
|
199
197
|
notionary/util/singleton_metaclass.py,sha256=DMvrh0IbAV8nIG1oX-2Yz57Uk1YHB647DNxoI3pAT3s,809
|
200
198
|
notionary/workspace.py,sha256=QP4WcOIdQnlVr4M7hpGaFT-Fori_QRhsV-SBC2lnwTU,3809
|
201
|
-
notionary-0.2.
|
202
|
-
notionary-0.2.
|
203
|
-
notionary-0.2.
|
204
|
-
notionary-0.2.
|
199
|
+
notionary-0.2.24.dist-info/LICENSE,sha256=zOm3cRT1qD49eg7vgw95MI79rpUAZa1kRBFwL2FkAr8,1120
|
200
|
+
notionary-0.2.24.dist-info/METADATA,sha256=TAnB9piH5MJLjSJSgv3opZrGb7vVtqT8HFKrJr44ohM,9580
|
201
|
+
notionary-0.2.24.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
202
|
+
notionary-0.2.24.dist-info/RECORD,,
|
notionary/blocks/guards.py
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
from typing import Protocol
|
2
|
-
|
3
|
-
from notionary.blocks.models import BlockCreateRequest
|
4
|
-
from notionary.blocks.rich_text.rich_text_models import RichTextObject
|
5
|
-
|
6
|
-
|
7
|
-
class HasRichText(Protocol):
|
8
|
-
"""Protocol for objects that have a rich_text attribute."""
|
9
|
-
|
10
|
-
rich_text: list[RichTextObject]
|
11
|
-
|
12
|
-
|
13
|
-
class HasChildren(Protocol):
|
14
|
-
"""Protocol for objects that have children blocks."""
|
15
|
-
|
16
|
-
children: list[BlockCreateRequest]
|
17
|
-
|
18
|
-
|
19
|
-
class HasRichTextAndChildren(HasRichText, HasChildren, Protocol):
|
20
|
-
"""Protocol for objects that have both rich_text and children."""
|
21
|
-
|
22
|
-
pass
|