notionary 0.3.1__py3-none-any.whl → 0.4.0__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.
Files changed (80) hide show
  1. notionary/__init__.py +6 -1
  2. notionary/blocks/enums.py +0 -6
  3. notionary/blocks/schemas.py +32 -78
  4. notionary/comments/schemas.py +2 -29
  5. notionary/data_source/properties/schemas.py +128 -107
  6. notionary/data_source/schemas.py +2 -2
  7. notionary/data_source/service.py +32 -23
  8. notionary/database/schemas.py +2 -2
  9. notionary/database/service.py +3 -5
  10. notionary/exceptions/__init__.py +6 -2
  11. notionary/exceptions/api.py +2 -2
  12. notionary/exceptions/base.py +1 -1
  13. notionary/exceptions/block_parsing.py +3 -3
  14. notionary/exceptions/data_source/builder.py +2 -2
  15. notionary/exceptions/data_source/properties.py +3 -3
  16. notionary/exceptions/file_upload.py +67 -0
  17. notionary/exceptions/properties.py +4 -4
  18. notionary/exceptions/search.py +4 -4
  19. notionary/file_upload/__init__.py +4 -0
  20. notionary/file_upload/client.py +124 -210
  21. notionary/file_upload/config/__init__.py +17 -0
  22. notionary/file_upload/config/config.py +32 -0
  23. notionary/file_upload/config/constants.py +16 -0
  24. notionary/file_upload/file/reader.py +28 -0
  25. notionary/file_upload/query/__init__.py +7 -0
  26. notionary/file_upload/query/builder.py +54 -0
  27. notionary/file_upload/query/models.py +37 -0
  28. notionary/file_upload/schemas.py +78 -0
  29. notionary/file_upload/service.py +152 -289
  30. notionary/file_upload/validation/factory.py +64 -0
  31. notionary/file_upload/validation/impl/file_name_length.py +23 -0
  32. notionary/file_upload/validation/models.py +124 -0
  33. notionary/file_upload/validation/port.py +7 -0
  34. notionary/file_upload/validation/service.py +17 -0
  35. notionary/file_upload/validation/validators/__init__.py +11 -0
  36. notionary/file_upload/validation/validators/file_exists.py +15 -0
  37. notionary/file_upload/validation/validators/file_extension.py +122 -0
  38. notionary/file_upload/validation/validators/file_name_length.py +21 -0
  39. notionary/file_upload/validation/validators/upload_limit.py +31 -0
  40. notionary/http/client.py +6 -22
  41. notionary/page/content/parser/factory.py +8 -5
  42. notionary/page/content/parser/parsers/audio.py +8 -33
  43. notionary/page/content/parser/parsers/embed.py +0 -2
  44. notionary/page/content/parser/parsers/file.py +8 -35
  45. notionary/page/content/parser/parsers/file_like_block.py +89 -0
  46. notionary/page/content/parser/parsers/image.py +8 -35
  47. notionary/page/content/parser/parsers/pdf.py +8 -35
  48. notionary/page/content/parser/parsers/video.py +8 -35
  49. notionary/page/content/renderer/renderers/audio.py +9 -21
  50. notionary/page/content/renderer/renderers/file.py +9 -21
  51. notionary/page/content/renderer/renderers/file_like_block.py +43 -0
  52. notionary/page/content/renderer/renderers/image.py +9 -21
  53. notionary/page/content/renderer/renderers/pdf.py +9 -21
  54. notionary/page/content/renderer/renderers/video.py +9 -21
  55. notionary/page/content/syntax/__init__.py +2 -1
  56. notionary/page/content/syntax/registry.py +38 -60
  57. notionary/page/properties/client.py +1 -1
  58. notionary/page/properties/{models.py → schemas.py} +93 -107
  59. notionary/page/properties/service.py +1 -1
  60. notionary/page/schemas.py +3 -3
  61. notionary/page/service.py +1 -1
  62. notionary/shared/entity/dto_parsers.py +1 -36
  63. notionary/shared/entity/entity_metadata_update_client.py +18 -4
  64. notionary/shared/entity/schemas.py +6 -6
  65. notionary/shared/entity/service.py +53 -30
  66. notionary/shared/models/file.py +34 -6
  67. notionary/shared/models/icon.py +5 -12
  68. notionary/user/bot.py +12 -12
  69. notionary/utils/decorators.py +8 -8
  70. notionary/workspace/__init__.py +2 -2
  71. notionary/workspace/query/__init__.py +2 -1
  72. notionary/workspace/query/service.py +3 -17
  73. notionary/workspace/service.py +45 -45
  74. {notionary-0.3.1.dist-info → notionary-0.4.0.dist-info}/METADATA +1 -1
  75. {notionary-0.3.1.dist-info → notionary-0.4.0.dist-info}/RECORD +77 -58
  76. notionary/file_upload/models.py +0 -69
  77. notionary/page/page_context.py +0 -50
  78. notionary/shared/models/cover.py +0 -20
  79. {notionary-0.3.1.dist-info → notionary-0.4.0.dist-info}/WHEEL +0 -0
  80. {notionary-0.3.1.dist-info → notionary-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -1,21 +1,49 @@
1
1
  from enum import StrEnum
2
- from typing import Literal, Self
2
+ from typing import Annotated, Literal, Self
3
3
 
4
- from pydantic import BaseModel
4
+ from pydantic import BaseModel, Field
5
5
 
6
6
 
7
7
  class FileType(StrEnum):
8
8
  EXTERNAL = "external"
9
+ FILE = "file"
10
+ FILE_UPLOAD = "file_upload"
9
11
 
10
12
 
11
- class ExternalFile(BaseModel):
13
+ class ExternalFileData(BaseModel):
12
14
  url: str
13
15
 
14
16
 
15
- class ExternalRessource(BaseModel):
17
+ class ExternalFile(BaseModel):
16
18
  type: Literal[FileType.EXTERNAL] = FileType.EXTERNAL
17
- external: ExternalFile
19
+ external: ExternalFileData
18
20
 
19
21
  @classmethod
20
22
  def from_url(cls, url: str) -> Self:
21
- return cls(external=ExternalFile(url=url))
23
+ return cls(external=ExternalFileData(url=url))
24
+
25
+
26
+ class NotionHostedFileData(BaseModel):
27
+ url: str
28
+ expiry_time: str
29
+
30
+
31
+ class NotionHostedFile(BaseModel):
32
+ type: Literal[FileType.FILE] = FileType.FILE
33
+ file: NotionHostedFileData
34
+
35
+
36
+ class FileUploadedFileData(BaseModel):
37
+ id: str
38
+
39
+
40
+ class FileUploadFile(BaseModel):
41
+ type: Literal[FileType.FILE_UPLOAD] = FileType.FILE_UPLOAD
42
+ file_upload: FileUploadedFileData
43
+
44
+ @classmethod
45
+ def from_id(cls, id: str) -> Self:
46
+ return cls(file_upload=FileUploadedFileData(id=id))
47
+
48
+
49
+ type File = Annotated[ExternalFile | NotionHostedFile | FileUploadFile, Field(discriminator="type")]
@@ -1,14 +1,16 @@
1
1
  from enum import StrEnum
2
- from typing import Literal, Self
2
+ from typing import Literal
3
3
 
4
4
  from pydantic import BaseModel
5
5
 
6
- from notionary.shared.models.file import ExternalFile
6
+ from notionary.shared.models.file import File
7
7
 
8
8
 
9
9
  class IconType(StrEnum):
10
10
  EMOJI = "emoji"
11
11
  EXTERNAL = "external"
12
+ FILE = "file"
13
+ FILE_UPLOAD = "file_upload"
12
14
 
13
15
 
14
16
  class EmojiIcon(BaseModel):
@@ -16,13 +18,4 @@ class EmojiIcon(BaseModel):
16
18
  emoji: str
17
19
 
18
20
 
19
- class ExternalIcon(BaseModel):
20
- type: Literal[IconType.EXTERNAL] = IconType.EXTERNAL
21
- external: ExternalFile
22
-
23
- @classmethod
24
- def from_url(cls, url: str) -> Self:
25
- return cls(external=ExternalFile(url=url))
26
-
27
-
28
- Icon = EmojiIcon | ExternalIcon
21
+ type Icon = EmojiIcon | File
notionary/user/bot.py CHANGED
@@ -20,6 +20,18 @@ class BotUser(BaseUser):
20
20
  self._workspace_file_upload_limit_in_bytes = workspace_file_upload_limit_in_bytes
21
21
  self._owner_type = owner_type
22
22
 
23
+ @property
24
+ def workspace_name(self) -> str | None:
25
+ return self._workspace_name
26
+
27
+ @property
28
+ def workspace_file_upload_limit_in_bytes(self) -> int:
29
+ return self._workspace_file_upload_limit_in_bytes
30
+
31
+ @property
32
+ def owner_type(self) -> WorkspaceOwnerType | None:
33
+ return self._owner_type
34
+
23
35
  @classmethod
24
36
  def _get_expected_user_type(cls) -> UserType:
25
37
  return UserType.BOT
@@ -54,17 +66,5 @@ class BotUser(BaseUser):
54
66
  owner_type=owner_type,
55
67
  )
56
68
 
57
- @property
58
- def workspace_name(self) -> str | None:
59
- return self._workspace_name
60
-
61
- @property
62
- def workspace_file_upload_limit_in_bytes(self) -> int:
63
- return self._workspace_file_upload_limit_in_bytes
64
-
65
- @property
66
- def owner_type(self) -> WorkspaceOwnerType | None:
67
- return self._owner_type
68
-
69
69
  def __repr__(self) -> str:
70
70
  return f"BotUser(id={self._id!r}, name={self._name!r}, avatar_url={self._avatar_url!r}, workspace_name={self._workspace_name!r}, workspace_file_upload_limit_in_bytes={self._workspace_file_upload_limit_in_bytes!r}, owner_type={self._owner_type!r})"
@@ -9,10 +9,10 @@ P = ParamSpec("P")
9
9
  R = TypeVar("R")
10
10
  T = TypeVar("T")
11
11
 
12
- type SyncFunc = Callable[P, R]
13
- type AsyncFunc = Callable[P, Coroutine[Any, Any, R]]
14
- type SyncDecorator = Callable[[SyncFunc], SyncFunc]
15
- type AsyncDecorator = Callable[[AsyncFunc], AsyncFunc]
12
+ type _SyncFunc = Callable[P, R]
13
+ type _AsyncFunc = Callable[P, Coroutine[Any, Any, R]]
14
+ type _SyncDecorator = Callable[[_SyncFunc], _SyncFunc]
15
+ type _AsyncDecorator = Callable[[_AsyncFunc], _AsyncFunc]
16
16
 
17
17
 
18
18
  def singleton(cls):
@@ -26,8 +26,8 @@ def singleton(cls):
26
26
  return wrapper
27
27
 
28
28
 
29
- def time_execution_sync(additional_text: str = "", min_duration_to_log: float = 0.25) -> SyncDecorator:
30
- def decorator(func: SyncFunc) -> SyncFunc:
29
+ def time_execution_sync(additional_text: str = "", min_duration_to_log: float = 0.25) -> _SyncDecorator:
30
+ def decorator(func: _SyncFunc) -> _SyncFunc:
31
31
  @functools.wraps(func)
32
32
  def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
33
33
  start_time = time.perf_counter()
@@ -49,8 +49,8 @@ def time_execution_sync(additional_text: str = "", min_duration_to_log: float =
49
49
  def time_execution_async(
50
50
  additional_text: str = "",
51
51
  min_duration_to_log: float = 0.25,
52
- ) -> AsyncDecorator:
53
- def decorator(func: AsyncFunc) -> AsyncFunc:
52
+ ) -> _AsyncDecorator:
53
+ def decorator(func: _AsyncFunc) -> _AsyncFunc:
54
54
  @functools.wraps(func)
55
55
  async def wrapper(*args: P.args, **kwargs: P.kwargs) -> R:
56
56
  start_time = time.perf_counter()
@@ -1,4 +1,4 @@
1
- from .query import NotionWorkspaceQueryConfigBuilder
1
+ from .query import NotionWorkspaceQueryConfigBuilder, WorkspaceQueryConfig
2
2
  from .service import NotionWorkspace
3
3
 
4
- __all__ = ["NotionWorkspace", "NotionWorkspaceQueryConfigBuilder"]
4
+ __all__ = ["NotionWorkspace", "NotionWorkspaceQueryConfigBuilder", "WorkspaceQueryConfig"]
@@ -1,3 +1,4 @@
1
1
  from .builder import NotionWorkspaceQueryConfigBuilder
2
+ from .models import WorkspaceQueryConfig
2
3
 
3
- __all__ = ["NotionWorkspaceQueryConfigBuilder"]
4
+ __all__ = ["NotionWorkspaceQueryConfigBuilder", "WorkspaceQueryConfig"]
@@ -46,33 +46,19 @@ class WorkspaceQueryService:
46
46
 
47
47
  async def find_data_source(self, query: str) -> NotionDataSource:
48
48
  config = (
49
- NotionWorkspaceQueryConfigBuilder()
50
- .with_query(query)
51
- .with_data_sources_only()
52
- .with_page_size(100)
53
- .build()
49
+ NotionWorkspaceQueryConfigBuilder().with_query(query).with_data_sources_only().with_page_size(100).build()
54
50
  )
55
51
  data_sources = await self.get_data_sources(config)
56
52
  return self._find_exact_match(data_sources, query, DataSourceNotFound)
57
53
 
58
54
  async def find_page(self, query: str) -> NotionPage:
59
- config = (
60
- NotionWorkspaceQueryConfigBuilder()
61
- .with_query(query)
62
- .with_pages_only()
63
- .with_page_size(100)
64
- .build()
65
- )
55
+ config = NotionWorkspaceQueryConfigBuilder().with_query(query).with_pages_only().with_page_size(100).build()
66
56
  pages = await self.get_pages(config)
67
57
  return self._find_exact_match(pages, query, PageNotFound)
68
58
 
69
59
  async def find_database(self, query: str) -> NotionDatabase:
70
60
  config = (
71
- NotionWorkspaceQueryConfigBuilder()
72
- .with_query(query)
73
- .with_data_sources_only()
74
- .with_page_size(100)
75
- .build()
61
+ NotionWorkspaceQueryConfigBuilder().with_query(query).with_data_sources_only().with_page_size(100).build()
76
62
  )
77
63
  data_sources = await self.get_data_sources(config)
78
64
 
@@ -9,14 +9,9 @@ from notionary.workspace.query.models import WorkspaceQueryConfig, WorkspaceQuer
9
9
  from notionary.workspace.query.service import WorkspaceQueryService
10
10
 
11
11
  if TYPE_CHECKING:
12
- from notionary.data_source.service import NotionDataSource
13
- from notionary.page.service import NotionPage
12
+ from notionary import NotionDataSource, NotionPage
14
13
  from notionary.user import BotUser, PersonUser
15
14
 
16
- type _QueryConfigInput = (
17
- WorkspaceQueryConfig | Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder]
18
- )
19
-
20
15
 
21
16
  class NotionWorkspace:
22
17
  def __init__(
@@ -43,66 +38,71 @@ class NotionWorkspace:
43
38
 
44
39
  async def get_pages(
45
40
  self,
46
- config: _QueryConfigInput | None = None,
41
+ *,
42
+ filter_fn: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder] | None = None,
43
+ query_config: WorkspaceQueryConfig | None = None,
47
44
  ) -> list[NotionPage]:
48
- query_config = self._resolve_config(config, WorkspaceQueryObjectType.PAGE)
49
- return await self._query_service.get_pages(query_config)
45
+ if filter_fn is not None and query_config is not None:
46
+ raise ValueError("Use either filter_fn OR query_config, not both")
47
+
48
+ resolved_config = self._resolve_query_config(filter_fn, query_config, WorkspaceQueryObjectType.PAGE)
49
+ return await self._query_service.get_pages(resolved_config)
50
50
 
51
51
  async def get_pages_stream(
52
52
  self,
53
- config: _QueryConfigInput | None = None,
53
+ *,
54
+ filter_fn: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder] | None = None,
55
+ query_config: WorkspaceQueryConfig | None = None,
54
56
  ) -> AsyncIterator[NotionPage]:
55
- query_config = self._resolve_config(config, WorkspaceQueryObjectType.PAGE)
56
- async for page in self._query_service.get_pages_stream(query_config):
57
+ if filter_fn is not None and query_config is not None:
58
+ raise ValueError("Use either filter_fn OR query_config, not both")
59
+
60
+ resolved_config = self._resolve_query_config(filter_fn, query_config, WorkspaceQueryObjectType.PAGE)
61
+ async for page in self._query_service.get_pages_stream(resolved_config):
57
62
  yield page
58
63
 
59
64
  async def get_data_sources(
60
65
  self,
61
- config: _QueryConfigInput | None = None,
66
+ *,
67
+ filter_fn: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder] | None = None,
68
+ query_config: WorkspaceQueryConfig | None = None,
62
69
  ) -> list[NotionDataSource]:
63
- query_config = self._resolve_config(config, WorkspaceQueryObjectType.DATA_SOURCE)
64
- return await self._query_service.get_data_sources(query_config)
70
+ if filter_fn is not None and query_config is not None:
71
+ raise ValueError("Use either filter_fn OR query_config, not both")
72
+
73
+ resolved_config = self._resolve_query_config(filter_fn, query_config, WorkspaceQueryObjectType.DATA_SOURCE)
74
+ return await self._query_service.get_data_sources(resolved_config)
65
75
 
66
76
  async def get_data_sources_stream(
67
77
  self,
68
- config: _QueryConfigInput | None = None,
78
+ *,
79
+ filter_fn: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder] | None = None,
80
+ query_config: WorkspaceQueryConfig | None = None,
69
81
  ) -> AsyncIterator[NotionDataSource]:
70
- query_config = self._resolve_config(config, WorkspaceQueryObjectType.DATA_SOURCE)
71
- async for data_source in self._query_service.get_data_sources_stream(query_config):
82
+ if filter_fn is not None and query_config is not None:
83
+ raise ValueError("Use either filter_fn OR query_config, not both")
84
+
85
+ resolved_config = self._resolve_query_config(filter_fn, query_config, WorkspaceQueryObjectType.DATA_SOURCE)
86
+ async for data_source in self._query_service.get_data_sources_stream(resolved_config):
72
87
  yield data_source
73
88
 
74
- def _resolve_config(
89
+ def _resolve_query_config(
75
90
  self,
76
- config: _QueryConfigInput | None,
91
+ filter_fn: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder] | None,
92
+ query_config: WorkspaceQueryConfig | None,
77
93
  expected_object_type: WorkspaceQueryObjectType,
78
94
  ) -> WorkspaceQueryConfig:
79
- if config is None:
80
- return self._create_default_config(expected_object_type)
81
-
82
- if isinstance(config, WorkspaceQueryConfig):
83
- return self._ensure_correct_object_type(config, expected_object_type)
84
-
85
- return self._build_config_from_callable(config, expected_object_type)
95
+ if filter_fn is not None:
96
+ builder = NotionWorkspaceQueryConfigBuilder()
97
+ configured_builder = filter_fn(builder)
98
+ query_config = configured_builder.build()
86
99
 
87
- def _create_default_config(self, object_type: WorkspaceQueryObjectType) -> WorkspaceQueryConfig:
88
- return WorkspaceQueryConfig(object_type=object_type)
100
+ if query_config is None:
101
+ query_config = WorkspaceQueryConfig(object_type=expected_object_type)
102
+ else:
103
+ query_config.object_type = expected_object_type
89
104
 
90
- def _build_config_from_callable(
91
- self,
92
- config_callable: Callable[[NotionWorkspaceQueryConfigBuilder], NotionWorkspaceQueryConfigBuilder],
93
- expected_object_type: WorkspaceQueryObjectType,
94
- ) -> WorkspaceQueryConfig:
95
- builder = NotionWorkspaceQueryConfigBuilder()
96
- config_callable(builder)
97
- return self._ensure_correct_object_type(builder.build(), expected_object_type)
98
-
99
- def _ensure_correct_object_type(
100
- self,
101
- config: WorkspaceQueryConfig,
102
- expected_object_type: WorkspaceQueryObjectType,
103
- ) -> WorkspaceQueryConfig:
104
- config.object_type = expected_object_type
105
- return config
105
+ return query_config
106
106
 
107
107
  async def get_users(self) -> list[PersonUser]:
108
108
  return [user async for user in self._user_service.list_users_stream()]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: notionary
3
- Version: 0.3.1
3
+ Version: 0.4.0
4
4
  Summary: Python library for programmatic Notion workspace management - databases, pages, and content with advanced Markdown support
5
5
  Project-URL: Homepage, https://github.com/mathisarends/notionary
6
6
  Author-email: Mathis Arends <mathisarends27@gmail.com>
@@ -1,8 +1,8 @@
1
- notionary/__init__.py,sha256=_nL90pjfhRkdxatfVRy_l1Ld86MloAmgqlWPKlYtAMc,445
1
+ notionary/__init__.py,sha256=kF7j3rTACgHt3IN4ODIceLE50Uxn8GvKbjqgD1dCdbE,660
2
2
  notionary/blocks/__init__.py,sha256=LsVUgSsDYlLy-bwLqnukcr4uB8ZcCLMz3fGd4HsNXDY,99
3
3
  notionary/blocks/client.py,sha256=zYy_eFz6NKFGqsESDddiUUZZfV6ybWWyzseThZEdIvI,5551
4
- notionary/blocks/enums.py,sha256=xr1h-8kZCRRERaAsC4p8wTV7nkX7ili5D-_jNQ61Wk4,4772
5
- notionary/blocks/schemas.py,sha256=7ZB4jbNzoKraa8O6yLLXeQXGskisUAzbOm1qHUYosNo,21413
4
+ notionary/blocks/enums.py,sha256=Y_la49porLNRMI72n8Ucl_CDjo2xuH-RNwx3BesxHig,4663
5
+ notionary/blocks/schemas.py,sha256=ahXn6DQTvEkTDCIEzEZlUQPkysI3moDs0GdUhuQsNDw,19969
6
6
  notionary/blocks/rich_text/markdown_rich_text_converter.py,sha256=kZyCwKgv4BMTswmIPTyDVrLs4OQ9JQn9O-Qb0rxea1k,11642
7
7
  notionary/blocks/rich_text/models.py,sha256=0aNsB_gpFiqBXAATL4yVMyOy4-zbN0WKB3rEaFQeTKs,4863
8
8
  notionary/blocks/rich_text/rich_text_markdown_converter.py,sha256=oKqh8vK5JTehiYC-y0m4bfRSkt5bq1gTpWZib7NIvoo,5512
@@ -17,13 +17,13 @@ notionary/comments/__init__.py,sha256=1LfujehhvWqJmNKft6QvcbwhLlJOGq7cH1uTb4IUR2
17
17
  notionary/comments/client.py,sha256=43raXEooa_kA-iYlUSEFqtQuA9gJ1kHPLsbC0K0H_bE,2593
18
18
  notionary/comments/factory.py,sha256=OmE1CBY5elpbvuSj64EmBfSlmED9VAYIQ65J5jKM15s,1511
19
19
  notionary/comments/models.py,sha256=g-WTDSel8nhyRa60rN0U5FuccU0KVnsnJBi6Uqz7NVw,107
20
- notionary/comments/schemas.py,sha256=AWDMeZbtOiaXfb45cxP5UhXOMxAqPYGetXzRWaJOdfQ,6003
20
+ notionary/comments/schemas.py,sha256=MURN2gNIj_tkSQIEXMDFeDb1Z0DfvEiHIlOZ4H8GEyU,5340
21
21
  notionary/comments/service.py,sha256=qRCwTTzjdSD2vgqCJCBPbSO3gyajyUD3JWV3qgiMFe0,1652
22
- notionary/data_source/schemas.py,sha256=I1b1HEbOj_uWebgZFjZBLTe82DShxM8Tes4_imyfogU,849
23
- notionary/data_source/service.py,sha256=YFEd6q9ibkE92L8Erq-mpobQ20btzhzlGzJQVknNb28,10842
22
+ notionary/data_source/schemas.py,sha256=xfKxy51zWlpXiLRZfRZWzFvIFwqw3hy69ydh-LJJzn0,829
23
+ notionary/data_source/service.py,sha256=hZygzOgqpIYgcEGB3FvJCRIZ5NpNIoQYkupyzlUbQDw,11446
24
24
  notionary/data_source/http/client.py,sha256=wvaBOIT5OtGdE0QjbcDUsuDnZ0TZ-CyIifBHp6OYTqE,445
25
25
  notionary/data_source/http/data_source_instance_client.py,sha256=S2cDnUw3ISn7cM7vhdX6PGpAarneZri5NRlILlcBV_s,5006
26
- notionary/data_source/properties/schemas.py,sha256=EWUtLplGdjbb688EU5EXWqMU2PSPf2GzGglLwS5wAgg,12067
26
+ notionary/data_source/properties/schemas.py,sha256=oBuAAr3ESFIvQLP-o0tYKYHXMKg2o6KTy6-xcA3Yd9Q,12964
27
27
  notionary/data_source/query/__init__.py,sha256=Q3uQf6r0xHYV_i5kn-Gdwf68QKJMnV_7vS_gO4I3kG8,226
28
28
  notionary/data_source/query/builder.py,sha256=6oyTtcbs7TiJtitzXDiIk_tCaA3G6uvf_KXIQEJByGU,18740
29
29
  notionary/data_source/query/resolver.py,sha256=zkV-ra2vvKdXAIcDO7zEzjvd_79YKLz6umczK6U8fpo,4370
@@ -33,27 +33,45 @@ notionary/data_source/schema/registry.py,sha256=ageQvLYOnU1g65JcZ9cmQWfj0Sv7petN
33
33
  notionary/data_source/schema/service.py,sha256=AFkHsOnTOSpf36pr2XHgw16Kna5hzw0GduAdLAh7bMQ,5977
34
34
  notionary/database/client.py,sha256=oLl8iRPkNC7Fuu9tAhXg3iX5n6z_35Nvl-JN8i0aSd4,2213
35
35
  notionary/database/database_metadata_update_client.py,sha256=LryhjGxDgLbRvuOUVvViZCogI0-Op4QkOlQUW4z8Tmg,905
36
- notionary/database/schemas.py,sha256=RwhxDRa7v8IAtkXdJLu-gHclliClWmcIfa6xKYCUkZA,853
37
- notionary/database/service.py,sha256=yb3bo53wTg5UE2SzaDhqNzxbOnWo38apyiyF4uGZZNo,4449
38
- notionary/exceptions/__init__.py,sha256=thgYj5f-RacLLaodqUVVi5jsQflMU9FgKjsnB8Q3AAE,1280
39
- notionary/exceptions/api.py,sha256=5xCX5Xyaa8CMG2f4_fgkZQezPsSjqDrV27ByOY05meg,790
40
- notionary/exceptions/base.py,sha256=vzMtgFalmpXVEOZDkyF0HqW--WBpq2rVJm-IG1f5vlY,44
41
- notionary/exceptions/block_parsing.py,sha256=6Dd_pg6SEIjy9nNfbnmaLLsOPwra76bXbuFRkJ4Z8qg,1475
42
- notionary/exceptions/properties.py,sha256=xHAU83C-8fxC1ColcIkA7wyhbAalfdz6Y3JSlFJuhy0,2199
43
- notionary/exceptions/search.py,sha256=V3l-v5YcR5-zMcLw-A5rvCFMc0xhlWY6nVEVC8HMsDk,2160
36
+ notionary/database/schemas.py,sha256=gzihLqe4YjGExWZ4X_s9yU-lm5Ezr1YFjviNCyxW1HE,838
37
+ notionary/database/service.py,sha256=uHNxQUxcGxASUXMGGn2CfQZMhyo-w7xawHkRTcdtgcA,4414
38
+ notionary/exceptions/__init__.py,sha256=sYBYDhqbO5f930wZaOgnwJYnVm8rX3O9OXEJ8VNLpzI,1484
39
+ notionary/exceptions/api.py,sha256=TxDAKh9-DXX3eYis-S_zE07WB0-UcyQsxBjIKKoFBT8,798
40
+ notionary/exceptions/base.py,sha256=Ey5rEWO9x9GIQOcGrgQcLz0pehPXGPQdEm8MIpV7Uq4,48
41
+ notionary/exceptions/block_parsing.py,sha256=5prPAkbN4bs8EyHLQrAvpFrZMilKJgGAqJdd6s1ukao,1487
42
+ notionary/exceptions/file_upload.py,sha256=79oB903eJdD91MO4E1IHapyU-129_fexFQDxu9CBVLs,2816
43
+ notionary/exceptions/properties.py,sha256=I-LFWS_xVJFy4FmZQqPrQstuudfvEvBjndQlJtxVRcY,2215
44
+ notionary/exceptions/search.py,sha256=VhxVcrlvkCHNC3HBAICXraFBaEKLlZVvb1m82O82Fo8,2176
44
45
  notionary/exceptions/data_source/__init__.py,sha256=Xs4I-zVxVQiVhfTclJX7GuGVO5fMYQIWqiqFnh_O67M,170
45
- notionary/exceptions/data_source/builder.py,sha256=MjDacxvR4C0OiW739R0razjfukKGCXi-TI538ajwVUI,6015
46
- notionary/exceptions/data_source/properties.py,sha256=WrudbojMa_ktCXvpe0OwegqI-PCUMdi0rTf7-VWqYHo,1236
47
- notionary/file_upload/client.py,sha256=TVmtMi5iBrgUFLDb7emCwUetmfbTpVFFTnurJ-qU_gw,8384
48
- notionary/file_upload/models.py,sha256=7a82S1c1PySTulyKJjrOQ-i986W8d3FbCkyGkyUumYc,1738
49
- notionary/file_upload/service.py,sha256=WcqEE2OfZQ8EhYQWHKzy-Usnd8KzVI3M-1UFWJbJco8,12701
50
- notionary/http/client.py,sha256=FsrNcxSW99AFu6Gkhre53XcwAHkZZwe9h6H_z_FiGoU,7696
46
+ notionary/exceptions/data_source/builder.py,sha256=lnU636VBGRV37_Ht53iUuIbx8CneRNwzCw9BYQA37MM,6023
47
+ notionary/exceptions/data_source/properties.py,sha256=LX_JTeMjlJY3_s70mFvDaDn3DfNgfNtzfC-6aC1_3Ug,1248
48
+ notionary/file_upload/__init__.py,sha256=MeOzKCT9RVNvikespbjE9cucfMgsh9R0JwoUfhRTjVQ,178
49
+ notionary/file_upload/client.py,sha256=OhLf89C8QI7Om1jMUJSFSxrdRFZr3WvQovMfHitRR-w,5370
50
+ notionary/file_upload/schemas.py,sha256=1JH-jJonWgW3HyB7pI7MMTM51jaAuwxf8-NFVMlU0Rc,2272
51
+ notionary/file_upload/service.py,sha256=vBBNt8u8YDaykUcwMXuYyK9B9giEdii8hXtR1I-XBbQ,8483
52
+ notionary/file_upload/config/__init__.py,sha256=BS6sI4ElRMUyxro4ohw6ll7OvIzc46Ss7jjHaJCrLfY,480
53
+ notionary/file_upload/config/config.py,sha256=oYeiffnTvEFvzRn4LReyx6ikw9tXhTfJk1p9Naq6_CY,1100
54
+ notionary/file_upload/config/constants.py,sha256=KoWJLrPPaTiELKyqrV9-Cng2nq6Y-v0MTxQJPyMnWUI,452
55
+ notionary/file_upload/file/reader.py,sha256=I4FmXdPU2dpBiIULfiVnhdiEwlLBMqa9iIO_IbzlLKw,1036
56
+ notionary/file_upload/query/__init__.py,sha256=9ZpH2HV-m7YmdKrQ5kDUC9FmcB1zjegUSK_0CTxX1Ho,155
57
+ notionary/file_upload/query/builder.py,sha256=n8ReTdkq2PAtXyzDuSlJDX1coAUW6VSLabUrrwb5frY,1922
58
+ notionary/file_upload/query/models.py,sha256=c5XIq7WkfjmESMAj47OYFnuheT_jqP68bmYWrNHIq0E,1069
59
+ notionary/file_upload/validation/factory.py,sha256=Z27Bv_pjyYiq6mOBvtsXTARBr9Hv13lpI-Fqp6jVfg4,2298
60
+ notionary/file_upload/validation/models.py,sha256=PZ5egEjQBePMQ0sFpMuk6IXWbKiskzz-vvrmAMG1-vQ,2906
61
+ notionary/file_upload/validation/port.py,sha256=S__YHYXLDlz2deCNNp5mv4fr6abmFyTfFGoftHB-_ZI,148
62
+ notionary/file_upload/validation/service.py,sha256=quTdUXCtGFHddqyIplF8SKaXSQ6zTh-Xw_jMq9jAvzI,681
63
+ notionary/file_upload/validation/impl/file_name_length.py,sha256=sTJvm4f3kg3Arl5TxVfC9kaVIBor9cRAs8of9reBqEo,955
64
+ notionary/file_upload/validation/validators/__init__.py,sha256=UAQGLrDgr4Fv4ESPU0f0nEEY2FNm3VcpB8EZ3nKdDDo,347
65
+ notionary/file_upload/validation/validators/file_exists.py,sha256=nL1M9KK2N0YCo3JABSHZioPg0m0R3MJGDMemyL_EduY,486
66
+ notionary/file_upload/validation/validators/file_extension.py,sha256=T2ZPJdYGugEEbp4lpWZ02ijrynPEx0hq6P-t75BZCSI,5326
67
+ notionary/file_upload/validation/validators/file_name_length.py,sha256=xdZTzw3XUUHd8I6_T6_oD7NdG2t6defLEZAB-QKsvoI,830
68
+ notionary/file_upload/validation/validators/upload_limit.py,sha256=UdhDsh57HPPNPQ3kcEAffVnm2CgBF77Fa2G47OmLs7Q,1146
69
+ notionary/http/client.py,sha256=HXvSjj8FWkX9AniLqSrVB8l1TXKNB4BzbvzRFjrz-0k,7123
51
70
  notionary/http/models.py,sha256=fvjKAGX-b6JcJ-W7V3DEt4v3SnsdikMa6N0c4aolslY,1352
52
- notionary/page/page_context.py,sha256=dMxGuzNerfcfy6boRPrcEwxCsuNNeFwzQZg-BdeDgec,1506
53
71
  notionary/page/page_http_client.py,sha256=YQdXkfMGu2wuJpALJBIsKKwoHv316n_sMjne-iqJYHc,445
54
72
  notionary/page/page_metadata_update_client.py,sha256=jJc3SMFnt98YBAb9ie_OxQBXAiXpeCzslOcRRRGwVks,865
55
- notionary/page/schemas.py,sha256=rEq1TSEGft8Y1P4ATcpYfxk7h_T7bLRxA2__dA2HJzQ,388
56
- notionary/page/service.py,sha256=2s89lgxxdE-TwRnmMdVTKtEXNuK4ufhLfP-4jhiQdhI,6185
73
+ notionary/page/schemas.py,sha256=uodDbDQDL8b-qvvjnvRXrliFoM7o6tzmLziRBmjVhTE,359
74
+ notionary/page/service.py,sha256=KN1rIuYBfmEq_cfZ5dWvcdXA7Ru9QcYqNAp3B_T-3Tg,6186
57
75
  notionary/page/blocks/client.py,sha256=2ukLeaYdFJCGzpQr-3eIZRFG2potXS-3MdKLoRha9bc,19
58
76
  notionary/page/content/factory.py,sha256=MRrHgHIruOVJ1Atew4eF4thPTj2L73QVCbfc9YdYFEM,3760
59
77
  notionary/page/content/service.py,sha256=5beyQrQMyjo5Mq6c0uaj3nfbKSA3ujU1aaKiKJN7r3U,2973
@@ -88,10 +106,10 @@ notionary/page/content/markdown/nodes/video.py,sha256=COmRavqXIoD7_Y8k1ha6b36gbB
88
106
  notionary/page/content/markdown/nodes/mixins/__init__.py,sha256=KVWvxbgwrbfXt495N4xkIu4s8tD-miwVTcXa2fc9Kvc,98
89
107
  notionary/page/content/markdown/nodes/mixins/caption.py,sha256=05tHz2RzNzyN6ggKk5gCR4iWWmM9ILwSCgfAxhgo9Bk,436
90
108
  notionary/page/content/parser/context.py,sha256=oboLkBQCeUehYtgooycOJ0Vs830Jhx0HIPXBKPWdaaM,4750
91
- notionary/page/content/parser/factory.py,sha256=M610fBJjqzHb8_rZX2bVgfpqm5Mkszt1njHK-3ovCJQ,7728
109
+ notionary/page/content/parser/factory.py,sha256=ic2g9F9RIl_b4LCw-jKqyY5Q7ViSRgoyRLV1OzkRAaA,8142
92
110
  notionary/page/content/parser/service.py,sha256=gHonMPByZhNjUwMNJGPsNTZyfxIZp0Yaza6Z-huO6A8,2891
93
111
  notionary/page/content/parser/parsers/__init__.py,sha256=cHGTAs7XZEHPmFHhlnno5J7nmLlfYwuTXtOtWvjWAD4,1637
94
- notionary/page/content/parser/parsers/audio.py,sha256=FLpGkU1urTPTaUfT0Gnz0Hzgg9Y5exiPjMw-JHdnJjE,1327
112
+ notionary/page/content/parser/parsers/audio.py,sha256=HZFPg3Gaw61Upccehx59N-6WpnsRsNVloIZcSH4yBzg,637
95
113
  notionary/page/content/parser/parsers/base.py,sha256=do1z_YLjQg1qdExtPaH1negInx3HLXz6kDBaGoCxGcM,988
96
114
  notionary/page/content/parser/parsers/bookmark.py,sha256=OPHcQo4XVBNuV--IRarxgnnjDiStgxtUJvJ2WP_EQoA,1233
97
115
  notionary/page/content/parser/parsers/breadcrumb.py,sha256=xkPj0dzQrpk349ruB0ysZ2g-7ezWAyrdEhQD3uC5A2s,1190
@@ -102,21 +120,22 @@ notionary/page/content/parser/parsers/code.py,sha256=A--JUlsjiudnULzKpAU_PkXusP4
102
120
  notionary/page/content/parser/parsers/column.py,sha256=8Y4pyg4rfk8lAR4AAstzXzD-UQayF3KC4JB7fokQUUM,2914
103
121
  notionary/page/content/parser/parsers/column_list.py,sha256=utyOZLO6jEVNUFxDG_yMRKlvewVWCTsfa02w_pWz87g,3474
104
122
  notionary/page/content/parser/parsers/divider.py,sha256=j9nuuViHAeXddWg-qt-IYLqnbpRu0tB--ll2nYPnUak,1148
105
- notionary/page/content/parser/parsers/embed.py,sha256=VBxE6_-P7ifQMW83RhBLqVIO_3-G5CH7zHQvobvSAM0,1203
123
+ notionary/page/content/parser/parsers/embed.py,sha256=sNxydRUCeRpN4M0c6CA_2agpyl4bQwaAjeWPXc4BwUw,1169
106
124
  notionary/page/content/parser/parsers/equation.py,sha256=hJL4PbJkiBrfphgBCV_a9LRvVHMcUU1_O1lAHDELs5o,2333
107
- notionary/page/content/parser/parsers/file.py,sha256=Zjj-b4xtvrdPiM3I-NvbY6pwdMlcOP8KRp6MObJpXsk,1349
125
+ notionary/page/content/parser/parsers/file.py,sha256=JU20LN03LrKaqlsmBO14ztCLzMV1MTGlsqigCsSJdFo,630
126
+ notionary/page/content/parser/parsers/file_like_block.py,sha256=0BwAnlih5Qy9zpBu2Vqcd8qsd6jJyFx49jEsebvNeSk,3829
108
127
  notionary/page/content/parser/parsers/heading.py,sha256=MO3XpTlhO18F36rI-u5XQ7TXx739FmntCpvwcoi02N4,4524
109
- notionary/page/content/parser/parsers/image.py,sha256=JBraNzXRV1d_EEO2rLYg-N1zA7ZHBWGGAbC5t7bVI2o,1357
128
+ notionary/page/content/parser/parsers/image.py,sha256=WNuv0Cbx4IvZPT0gqdZY1bbC2gWRBeEvmFPf37jAbu0,637
110
129
  notionary/page/content/parser/parsers/numbered_list.py,sha256=ouebkdw3dhbsERdqQLJlbvBP9cw9yJHoUg1r0wrGBrg,3623
111
130
  notionary/page/content/parser/parsers/paragraph.py,sha256=GDzGxAQOBFgZPSdzZiK-OruSE3yVIZwyVMPn064NHmU,1359
112
- notionary/page/content/parser/parsers/pdf.py,sha256=JNRcQxCOEGNxVDfoYe_OlFrFAUZjaLkQuuTkONJWkJY,1341
131
+ notionary/page/content/parser/parsers/pdf.py,sha256=MPosXCpfSJxJpVdq7K4pjHURYVr0b5Cd4SYfzuY80K8,623
113
132
  notionary/page/content/parser/parsers/quote.py,sha256=--zTyGPfg_V42yfShWQjYgD5x6pHIRqoMCqGl1QnVC0,5078
114
133
  notionary/page/content/parser/parsers/space.py,sha256=BJ7IOXrpKO_Xjsb2GWzESW97Tju89VnddB5pkmq7pD4,1569
115
134
  notionary/page/content/parser/parsers/table.py,sha256=eyrCdEEGyxmro4mHxKx6APnBHZAfLtWiD6Hlv_MwZvU,5479
116
135
  notionary/page/content/parser/parsers/table_of_contents.py,sha256=f8JVQmBvV2ptrUYw5LPY5j844nbFlhU8K-3mfT7GMjk,1205
117
136
  notionary/page/content/parser/parsers/todo.py,sha256=iv0WD8T2Y8DxJ3k0khLiyDHPhDJIe2veExu1Aco_a3E,3838
118
137
  notionary/page/content/parser/parsers/toggle.py,sha256=x42I5ABN6SyoFxmeliZsToUwiZAtg1JEWTRuWZ6jIe8,2883
119
- notionary/page/content/parser/parsers/video.py,sha256=NshablM97cL0G8yq_iz_UlOfCFCVujgOuaSCNIqdPCU,1357
138
+ notionary/page/content/parser/parsers/video.py,sha256=p_SgliZbHJfRABQY_CLjyoYSPUTow9fgzxg7CJM92vc,637
120
139
  notionary/page/content/parser/post_processing/port.py,sha256=ZjTz9pIrk3R8Hy_NdRWmYTYrGScNyWyqgzcSUk_1BkI,248
121
140
  notionary/page/content/parser/post_processing/service.py,sha256=Wp_30iCcqtB7qZdO__E6f_WjNKhkaOQML6q4dW33bJM,608
122
141
  notionary/page/content/parser/post_processing/handlers/__init__.py,sha256=Io7Qw_bR6lDXCCuFWUZqR5QmmZwqKG-icE1hRoRivIk,144
@@ -137,7 +156,7 @@ notionary/page/content/renderer/post_processing/service.py,sha256=dCc6GRRDkT3NmV
137
156
  notionary/page/content/renderer/post_processing/handlers/__init__.py,sha256=LurntAvtz38tBpm3KAfd_Z-EyaxfG6WS_JPrytfc32M,144
138
157
  notionary/page/content/renderer/post_processing/handlers/numbered_list.py,sha256=Ry7RpKa-VSp9VWShvu9KzoWgvyVGeJ3iy5z05o47mdk,5825
139
158
  notionary/page/content/renderer/renderers/__init__.py,sha256=YinHG6qfAPRTLD2-fts0gnuDuxQW9ZMBXflxoEfQ16o,1636
140
- notionary/page/content/renderer/renderers/audio.py,sha256=WfmY672zKhvykazxXPgOdiC3_DXJixBIGMezdlQpzRg,943
159
+ notionary/page/content/renderer/renderers/audio.py,sha256=pUvs8FxgnjzggR3LQx33AwaJwH0EvAMNq-Lkp2p_HIY,729
141
160
  notionary/page/content/renderer/renderers/base.py,sha256=2y8pnPmk-Kf2eA_MKVsGsnt9oKuefaRx5C_ZWsrRa7c,1071
142
161
  notionary/page/content/renderer/renderers/bookmark.py,sha256=rpd1SBDNO2uoCCRynGGHeqgudMzDXXNra-hTt3vxJdY,815
143
162
  notionary/page/content/renderer/renderers/breadcrumb.py,sha256=M_Qlu73LmSwcCzsF1IJywZIekzOVBP1rd8md51dvfq8,782
@@ -151,61 +170,61 @@ notionary/page/content/renderer/renderers/divider.py,sha256=S6XvueUgihBC5I5y7_WH
151
170
  notionary/page/content/renderer/renderers/embed.py,sha256=v5Ycztt4koB-uboAn0b9hrvkM0SohBSQMFw_z75_cGw,794
152
171
  notionary/page/content/renderer/renderers/equation.py,sha256=lLZ82s2y_K_0avrp6eX8LLvWXTnPX_9kI6bwhGFKe-g,1363
153
172
  notionary/page/content/renderer/renderers/fallback.py,sha256=R-w6k5N3EmTQ5ytSzPNykpNwm9tq3dW71Xffchj4qXA,918
154
- notionary/page/content/renderer/renderers/file.py,sha256=sLwRbScAwNSiGyVhY1DVTvRAg7vOAZ7_BoouCCQI-ec,1136
173
+ notionary/page/content/renderer/renderers/file.py,sha256=3TUc_UFfyjIwSsqiaKKYrXawGxZsdJXBTE2Yh_AeiVY,928
174
+ notionary/page/content/renderer/renderers/file_like_block.py,sha256=FqmhxO9SgzZrzVK0YIgS83hnB0FBOtUOaQ_0VYmc8zQ,1295
155
175
  notionary/page/content/renderer/renderers/heading.py,sha256=6F1imJeTsn8b7YNtySv-YWbl7XgGxn7SauXaM15tbWo,3770
156
- notionary/page/content/renderer/renderers/image.py,sha256=zcdEvS_csy1YymWVof1wiKDWCBq0TnL5Ky6PY3sdDbk,943
176
+ notionary/page/content/renderer/renderers/image.py,sha256=xMgrnTteISZPRA31juo3BDt4hcZdtL4ddE4OA8KgfpE,729
157
177
  notionary/page/content/renderer/renderers/numbered_list.py,sha256=QVzpozfROnuutjbjV-U1qB_VpwpX7m8viSfqE-J_J8s,1818
158
178
  notionary/page/content/renderer/renderers/paragraph.py,sha256=srwCP13H9V22wM1Ned0UODWmYrSYlcn4FJgoPb1B4fM,1620
159
- notionary/page/content/renderer/renderers/pdf.py,sha256=USeqVEHYnxiiCi-IL8VEDdbaQ8EtbKSkSHzDPWeZVS0,923
179
+ notionary/page/content/renderer/renderers/pdf.py,sha256=ZSbMT0yno0sEDWxIa3Kfeow4SL2Gpjy6eR2oUx3l5N8,721
160
180
  notionary/page/content/renderer/renderers/quote.py,sha256=oBYP3kPzzxIRcqj-F1FAqOemG70V95nHm3NBxOOX4os,1987
161
181
  notionary/page/content/renderer/renderers/table.py,sha256=CqmV9ii6MVbd8YJvJ18HXBPWXEaSM0i2ufgKJIbJlCo,4619
162
182
  notionary/page/content/renderer/renderers/table_of_contents.py,sha256=pWlkz-jQ2jviI-it0XxJQsZ0G5I2ZtxZkC7pBSWnRBg,988
163
183
  notionary/page/content/renderer/renderers/table_row.py,sha256=Zs1yFsU4hKIZizg4rGo8THGZ0VKrb3KNUQOT9ehmzFk,623
164
184
  notionary/page/content/renderer/renderers/todo.py,sha256=J0hwarEEBhwlDvgSR5jwlJ_cvMw3dpi_UYaWZHCCYEc,2137
165
185
  notionary/page/content/renderer/renderers/toggle.py,sha256=BGGvDlQMCaZxUQw-kmv5M5RZq86UZAWvBLLPkagKVtc,2045
166
- notionary/page/content/renderer/renderers/video.py,sha256=2pKJFFkJheRl-G4qaXIJTvPvwBrUqk11RqqYrly2ptI,943
167
- notionary/page/content/syntax/__init__.py,sha256=0OjmKk1n4QyZS_0nnKfVAFfn2wge2f4ANQT6UcbX7pg,127
186
+ notionary/page/content/renderer/renderers/video.py,sha256=h6YK0xjuOhkOs75C7sQtEAPlW554N83hgL9QcuBVEuo,729
187
+ notionary/page/content/syntax/__init__.py,sha256=jnZ5N8xwnJaPED326yf0meyejd7_XQqc-w4Uh7SpDM0,185
168
188
  notionary/page/content/syntax/grammar.py,sha256=vWJ1rgtekcRH4uIb94q83kYaBxmDD0E5YS7oGQR_1Aw,252
169
189
  notionary/page/content/syntax/models.py,sha256=pkFoQVMu4eg6xIyi9JYkeRgegrB-QUAw7wlRrIKGIXE,1830
170
- notionary/page/content/syntax/registry.py,sha256=RsN974l_ddwIv9V4WYFUcEVAo34_BcGiPdrXOtwdYYg,15697
171
- notionary/page/properties/client.py,sha256=k4iS64txrzhWbaAn_xSzQ31b0yx6JLDh_madCCSLU14,6749
190
+ notionary/page/content/syntax/registry.py,sha256=6aAejkA1Snyr5z3hRdO_M1eLZLaSCGd1uixsmMycBRE,15208
191
+ notionary/page/properties/client.py,sha256=Dr2EpVWUFpdnA1bsKC7P-Mozyo2YurufJ5xOumcTjVc,6750
172
192
  notionary/page/properties/factory.py,sha256=YnVWZ98RGYpV9iEY4Ufk7InIoeP9vWwMn5sSvcbSQ2k,1248
173
- notionary/page/properties/models.py,sha256=G3e7vzmk3kU6G1c0oWX9QlKMdaPOuKwR76CscOUPJMg,8878
174
- notionary/page/properties/service.py,sha256=RDPM6E3XaigzhW6fsIYKpZGqy_ErW88iQ2POmd1VrDA,13178
193
+ notionary/page/properties/schemas.py,sha256=0QOgbtJYsAI8oVnp6ZNgHhiJqRHWRRDpD8B8oYPCUKo,8548
194
+ notionary/page/properties/service.py,sha256=l9Yk8VTSQoGIFZIf3Zgein5cqWsuPFebRpEtmjcMZo8,13179
175
195
  notionary/shared/typings.py,sha256=LKg_NJvqi0ZuyB6I995zg4XCyijGKY0T_bW90YiI5_g,58
176
196
  notionary/shared/entity/client.py,sha256=knblCIKwUHgoxJ_z7QtrRES9E8P9keHQTvr6CMc69gA,1181
177
- notionary/shared/entity/dto_parsers.py,sha256=yaADwtL9S6mlQzLSNlW71trL0E3FPBmykgI6wuLNKKU,2086
178
- notionary/shared/entity/entity_metadata_update_client.py,sha256=MKNT6W4ZUVffdB1BzXBqcWuTqaaBBqZ7Q9cRLrynKOI,1769
179
- notionary/shared/entity/schemas.py,sha256=-NDlmw3dWANFx2Nw_x1WKhtmp_PmcuzpJ2Tsxx7O23c,1132
180
- notionary/shared/entity/service.py,sha256=zB46PPnukgN7VQNwqQTKXvQclSDKgxkzgV_0_rIGtAo,8262
181
- notionary/shared/models/cover.py,sha256=Qg3I6XS7pQUnsx3VO9_dRHHrt_VmJEpU8h3eu92Cqa0,495
182
- notionary/shared/models/file.py,sha256=kU_hiLHEQDirBDoKkIKutXlRTSv3-hRJRfaoW-1hGtA,442
183
- notionary/shared/models/icon.py,sha256=f1NVijUb4B_HhcGA7GtVsS1izycb8u8R7A3uy5qAu0o,603
197
+ notionary/shared/entity/dto_parsers.py,sha256=XR0I0YiQ5bPASM8_QG09WAyEIYwEV6TmAOkiAlbq79c,601
198
+ notionary/shared/entity/entity_metadata_update_client.py,sha256=t1shao5GEtHb1E-dixgZcQ1Ap-q0ntytQaQwEUaAJxY,2408
199
+ notionary/shared/entity/schemas.py,sha256=SpcpWnNYmhjsVhR66bRCst68YU7IJk52f9x66L_V0Ic,1072
200
+ notionary/shared/entity/service.py,sha256=T5TGMYpQYaTapugtK8-AqtoYpHAoGdtRRkCVCkhy3TM,9793
201
+ notionary/shared/models/file.py,sha256=P0BDebYAr7iyU_th2HLLcmze8RWpd5cULqdIrhG6x4o,1146
202
+ notionary/shared/models/icon.py,sha256=XGkNmMA13iDkLeMo0cpz2t7JwxEnXfxEeSvJs3OisJo,402
184
203
  notionary/shared/models/parent.py,sha256=fptJhWHot35jN9IH9BhsXNMZfNClc8av1G2TR6SqRmY,888
185
204
  notionary/shared/properties/type.py,sha256=04KNeWGzphJ2hN6AbVhfDfF89XxtSGzcmnatcPHkEQI,780
186
205
  notionary/user/__init__.py,sha256=O1sa9EPnJKZgpEAARJhzgh0ULqmwB-JNIgoPUCwDGMo,111
187
206
  notionary/user/base.py,sha256=M2psGOJt6YLKFMw_iWEYave67sfoBa2_0Sij00Zen5M,4362
188
- notionary/user/bot.py,sha256=G093TD2ZNxwtKpCqKreHxGDa7jsBsAGq8yEqfR3nIT0,2585
207
+ notionary/user/bot.py,sha256=fibcqxOL2Mfq6YXwzplqr1ZLTrpwDsHC6B6Xwmd_sYg,2585
189
208
  notionary/user/client.py,sha256=CDevJlHfNnrfPE2OaaLWXeNro72J4ezCfwgdM_SJeAg,1410
190
209
  notionary/user/factory.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
191
210
  notionary/user/person.py,sha256=8w0xMNVLen8xx2DSff-3Y9H7x9A0B3FLZUZJQZ_qe4g,1144
192
211
  notionary/user/schemas.py,sha256=ZPKopqd6OepGFPnbK3B13PgNH6l4hLCGMxpk0eWe41s,1432
193
212
  notionary/user/service.py,sha256=20DaDC4Eozfzr2sf0VP3z6sORRKmfb5PdtGG02rJews,2565
194
213
  notionary/utils/date.py,sha256=HPwqmZoylTFKkyI8q4BJXT3q9B39nE55uVZAyG4JnDw,1729
195
- notionary/utils/decorators.py,sha256=jKik6C_2mAzN1f1RUMkhzsqg7vC_tEO-CyYqLTnyTiw,3722
214
+ notionary/utils/decorators.py,sha256=QGn3k26dOASlb8uADyMflhHEZwfwaAQsRh-vAqu0Xos,3736
196
215
  notionary/utils/fuzzy.py,sha256=k_D48yHbSd_ecFo3QlrxF5-5c3Bd8gR3bq-_W2J2ZyE,1783
197
216
  notionary/utils/pagination.py,sha256=6h1ZZpgn5YFBBUCGAVntZ45wCeFiQRJhW0JqPPtN9Ws,3343
198
217
  notionary/utils/uuid_utils.py,sha256=ygTQdiKmdtyb2iY7d9kuYbo8uGSeuhiHH2PhUza6ZUw,579
199
218
  notionary/utils/mixins/logging.py,sha256=fCkHFYhNYeVfppCjD5WLKxY7Sr3FHlJ5UhNd7KzrvsM,1662
200
- notionary/workspace/__init__.py,sha256=DlLV8qNtiuXxru5CorfMkBs_g7SkPalpnN0eNDkODM8,162
219
+ notionary/workspace/__init__.py,sha256=UBnuTDa4QO1Ne3OksVXVw-r7Eorv2tm66AfRGGALRrA,208
201
220
  notionary/workspace/client.py,sha256=yChqszwc1FZeuWboqDSEMSkBPNhDO5buOGpdWqJDxLM,2447
202
221
  notionary/workspace/schemas.py,sha256=uITRJpqHZD7LF7wOqZ6Cdx51a4Uk9rWZ110ib9EbIrA,562
203
- notionary/workspace/service.py,sha256=-zznI2_-nBGf_fMVSDkzhe9uqmPv7N0aRTdA21tQ30Q,4983
204
- notionary/workspace/query/__init__.py,sha256=aw0tu_k4OIYo5nzgQZQZSrQT0HBkyS_4z9g8shiT6-A,107
222
+ notionary/workspace/service.py,sha256=NDoUe-uSUDiv7FJFanWxDnFcjTVVtVWXStbQYnptoIQ,5412
223
+ notionary/workspace/query/__init__.py,sha256=qK-D7DVUpAeil6hQBJ0Cyi2m-nCcz5TA5qso70eyDw4,173
205
224
  notionary/workspace/query/builder.py,sha256=0QV0OHAWIU0O5tXOeTQFKKNNmwaC81nLk_ecHrxdokE,2887
206
225
  notionary/workspace/query/models.py,sha256=isebZ9wyvj75C65nhw3VsuJygyZmgZBNX8D5VOf3TAM,1851
207
- notionary/workspace/query/service.py,sha256=EEHNwZnstoOyBeBa9yGWYs9n54el-IZ-wIWUwhjrxv8,4975
208
- notionary-0.3.1.dist-info/METADATA,sha256=gq4kaA_KvdA2n1a4hM1XoAEzMWgkNVJ5D04LTsG2pCw,6493
209
- notionary-0.3.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
210
- notionary-0.3.1.dist-info/licenses/LICENSE,sha256=FLNy3l12swSnCggq3zOW_3gh4uaZ12DGZL1tR6Bc5Sk,1102
211
- notionary-0.3.1.dist-info/RECORD,,
226
+ notionary/workspace/query/service.py,sha256=I3ZlKoeOKeRfHuvtozzWSDOxETZAlsGpaNcvu2kZjto,4781
227
+ notionary-0.4.0.dist-info/METADATA,sha256=f-PuuABbfGoF4YGOl5Lni7OZCmEU3FrheIjb3irFNjk,6493
228
+ notionary-0.4.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
229
+ notionary-0.4.0.dist-info/licenses/LICENSE,sha256=FLNy3l12swSnCggq3zOW_3gh4uaZ12DGZL1tR6Bc5Sk,1102
230
+ notionary-0.4.0.dist-info/RECORD,,