Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def _convert_python_to_notion(self, val, prop, identifier=""):
if prop["type"] in ["title", "text"]:
if not val:
val = ""
if not isinstance(val, str):
raise TypeError(
"Value passed to property '{}' must be a string.".format(identifier)
)
val = markdown_to_notion(val)
if prop["type"] in ["number"]:
if val is not None:
if not isinstance(val, float) and not isinstance(val, int):
raise TypeError(
"Value passed to property '{}' must be an int or float.".format(
identifier
)
)
val = [[str(val)]]
if prop["type"] in ["select"]:
if not val:
val = None
else:
valid_options = [p["value"].lower() for p in prop["options"]]
val = val.split(",")[0]
if val.lower() not in valid_options:
data["start_time"] = start_time or "00:00"
if end_date:
data["end_time"] = end_time or "00:00"
return [["‣", [["d", data]]]]
class Collection(Record):
"""
A "collection" corresponds to what's sometimes called a "database" in the Notion UI.
"""
_table = "collection"
name = field_map(
"name", api_to_python=notion_to_markdown, python_to_api=markdown_to_notion
)
description = field_map(
"description",
api_to_python=notion_to_markdown,
python_to_api=markdown_to_notion,
)
cover = field_map("cover")
@property
def templates(self):
if not hasattr(self, "_templates"):
template_ids = self.get("template_pages", [])
self._client.refresh_records(block=template_ids)
self._templates = Templates(parent=self)
return self._templates
class Collection(Record):
"""
A "collection" corresponds to what's sometimes called a "database" in the Notion UI.
"""
_table = "collection"
name = field_map(
"name", api_to_python=notion_to_markdown, python_to_api=markdown_to_notion
)
description = field_map(
"description",
api_to_python=notion_to_markdown,
python_to_api=markdown_to_notion,
)
cover = field_map("cover")
@property
def templates(self):
if not hasattr(self, "_templates"):
template_ids = self.get("template_pages", [])
self._client.refresh_records(block=template_ids)
self._templates = Templates(parent=self)
return self._templates
def get_schema_properties(self):
"""
Fetch a flattened list of all properties in the collection's schema.
"""
properties = []
def py2api(x):
x = python_to_api(x)
if markdown:
x = markdown_to_notion(x)
return x