Skip to content

Commit a50f24f

Browse files
committed
refine code
1 parent 4e943de commit a50f24f

File tree

1 file changed

+34
-28
lines changed

1 file changed

+34
-28
lines changed

scripts/notion_helper.py

+34-28
Original file line numberDiff line numberDiff line change
@@ -32,20 +32,12 @@
3232
class NotionHelper:
3333
database_name_dict = {
3434
"BOOK_DATABASE_NAME": "书架",
35-
"REVIEW_DATABASE_NAME": "笔记",
36-
"BOOKMARK_DATABASE_NAME": "划线",
37-
"DAY_DATABASE_NAME": "日",
38-
"WEEK_DATABASE_NAME": "周",
39-
"MONTH_DATABASE_NAME": "月",
40-
"YEAR_DATABASE_NAME": "年",
41-
"CATEGORY_DATABASE_NAME": "分类",
42-
"AUTHOR_DATABASE_NAME": "作者",
4335
"CHAPTER_DATABASE_NAME": "章节",
4436
"READ_DATABASE_NAME": "阅读记录",
4537
}
4638
database_id_dict = {}
4739
heatmap_block_id = None
48-
40+
property_dict = {}
4941
def __init__(self):
5042
self.client = Client(auth=os.getenv("NOTION_TOKEN"), log_level=logging.ERROR)
5143
self.__cache = {}
@@ -57,39 +49,53 @@ def __init__(self):
5749
self.book_database_id = self.database_id_dict.get(
5850
self.database_name_dict.get("BOOK_DATABASE_NAME")
5951
)
60-
self.review_database_id = self.database_id_dict.get(
61-
self.database_name_dict.get("REVIEW_DATABASE_NAME")
62-
)
63-
self.bookmark_database_id = self.database_id_dict.get(
64-
self.database_name_dict.get("BOOKMARK_DATABASE_NAME")
52+
r = self.client.databases.retrieve(database_id=self.book_database_id)
53+
for key, value in r.get("properties").items():
54+
self.property_dict[key] = value
55+
self.review_database_id = self.get_relation_database_id(
56+
self.property_dict.get("读书笔记")
6557
)
66-
self.day_database_id = self.database_id_dict.get(
67-
self.database_name_dict.get("DAY_DATABASE_NAME")
58+
self.bookmark_database_id = self.get_relation_database_id(
59+
self.property_dict.get("划线")
6860
)
69-
self.week_database_id = self.database_id_dict.get(
70-
self.database_name_dict.get("WEEK_DATABASE_NAME")
61+
self.day_database_id = self.get_relation_database_id(
62+
self.property_dict.get("")
7163
)
72-
self.month_database_id = self.database_id_dict.get(
73-
self.database_name_dict.get("MONTH_DATABASE_NAME")
64+
self.week_database_id = self.get_relation_database_id(
65+
self.property_dict.get("")
7466
)
75-
self.year_database_id = self.database_id_dict.get(
76-
self.database_name_dict.get("YEAR_DATABASE_NAME")
67+
self.month_database_id = self.get_relation_database_id(
68+
self.property_dict.get("")
7769
)
78-
self.category_database_id = self.database_id_dict.get(
79-
self.database_name_dict.get("CATEGORY_DATABASE_NAME")
70+
self.year_database_id = self.get_relation_database_id(
71+
self.property_dict.get("")
8072
)
81-
self.author_database_id = self.database_id_dict.get(
82-
self.database_name_dict.get("AUTHOR_DATABASE_NAME")
73+
self.category_database_id = self.get_relation_database_id(
74+
self.property_dict.get("分类")
8375
)
84-
self.chapter_database_id = self.database_id_dict.get(
85-
self.database_name_dict.get("CHAPTER_DATABASE_NAME")
76+
self.author_database_id = self.get_relation_database_id(
77+
self.property_dict.get("作者")
8678
)
79+
if "章节" in self.property_dict:
80+
self.chapter_database_id = self.get_relation_database_id(
81+
self.property_dict.get("章节")
82+
)
83+
else:
84+
self.database_id_dict.get(self.database_name_dict.get("CHAPTER_DATABASE_NAME"))
8785
self.read_database_id = self.database_id_dict.get(
8886
self.database_name_dict.get("READ_DATABASE_NAME")
8987
)
88+
if "阅读记录" in self.property_dict:
89+
self.read_database_id = self.get_relation_database_id(
90+
self.property_dict.get("阅读记录")
91+
)
92+
else:
93+
self.read_database_id.get(self.database_name_dict.get("READ_DATABASE_NAME"))
9094
self.update_book_database()
9195
if self.read_database_id is None:
9296
self.create_database()
97+
def get_relation_database_id(self, property):
98+
return property.get("relation").get("database_id")
9399

94100
def extract_page_id(self, notion_url):
95101
# 正则表达式匹配 32 个字符的 Notion page_id

0 commit comments

Comments
 (0)