1- from dataclasses import field
2- import imp
3- import requests
1+ import optparse
42import json
53import os
64
75from properties import Properties
86from page import Page
97from database import Database
8+ from parse import Parser
9+ from notion_api import GetToken
1010
11+ #token = os.environ["NOTION_TOKEN_PUT_EXPERIMENT"]
1112
12- token = os .environ ["NOTION_TOKEN_PUT_EXPERIMENT" ]
13-
14- database_id = 'd08f239718194d1f990c7ed7c67a6653'
15-
16- headers = {
17- "Accept" : "application/json" ,
18- "Notion-Version" : "2022-02-22" ,
19- "Content-Type" : "application/json" ,
20- "Authorization" : "Bearer " + token
21- }
13+ #database_id = 'd08f239718194d1f990c7ed7c67a6653'
2214
2315PROPERTY = Properties ()
16+ PARSER = Parser ()
17+ GETTOKEN = GetToken ()
2418
2519def main ():
2620
27- fields_key , data_extract = json_reader ()
28-
29- column_type = read_database (fields_key )
21+ parser = optparse .OptionParser ()
22+ PARSER .get_option (parser = parser )
23+
24+ datas = json_reader ()
25+
26+ for data in datas :
27+
28+ fields_key = data [0 ]
29+ data_extract = data [1 ]
30+
31+ column_type = read_database (fields_key )
32+
33+ write_database (column_type ,fields_key ,data_extract )
3034
31- write_database (column_type ,fields_key ,data_extract )
3235
3336def json_reader ():
34-
35- data_extract = []
37+ datas = []
38+ data_extract = []
3639
37- json_file = open ('data.json' )
40+ json_file = open (PARSER . options . json_input )
3841 json_dict = json .load (json_file )
39-
40- data_extract .append (json_dict ["entries" ][0 ]["_id" ])
4142
42- fields_key = list (json_dict ["entries" ][0 ]["fields" ])
43- fields_data = list (map (lambda l :json_dict ["entries" ][0 ]["fields" ][l ],json_dict ["entries" ][0 ]["fields" ]))
43+ for i in range (len (json_dict ["entries" ])):
44+
45+ fields_key = list (json_dict ["entries" ][i ]["fields" ])
46+ fields_data = list (map (lambda l :json_dict ["entries" ][i ]["fields" ][l ],json_dict ["entries" ][0 ]["fields" ]))
47+
48+ data_extract = [json_dict ["entries" ][i ]["_id" ], fields_data , json_dict ["entries" ][i ]["body" ]]
49+
50+ datas .append ([fields_key ,data_extract ])
4451
45- data_extract .append (fields_data )
46- data_extract .append (json_dict ["entries" ][0 ]["body" ])
47-
4852 json_file .close ()
4953
50- return fields_key ,data_extract
54+ return datas
55+
5156
5257def read_database (fields_key ):
5358
54- D = Database (integrations_token = token )
55- D .retrieve_database (database_id = database_id ,fields_key = fields_key )
59+ D = Database (integrations_token = GETTOKEN . token )
60+ D .retrieve_database (database_id = PARSER . options . notion_db_id ,fields_key = fields_key )
5661
5762 return D .properties_list
5863
64+
5965def write_database (column_type ,fields_key ,data_extract ):
6066
6167 set_property ('title' ,'id' ,data_extract [0 ])
6268
6369 for type , key , data in zip (column_type ,fields_key ,data_extract [1 ]):
6470 set_property (type ,key ,data )
6571
66- P = Page (integrations_token = token )
67- P .create_page (database_id = database_id , properties = PROPERTY )
72+ P = Page (integrations_token = GETTOKEN .token )
73+ P .create_page (database_id = PARSER .options .notion_db_id , properties = PROPERTY )
74+
6875
6976def set_property (type ,key ,data ):
7077
@@ -89,5 +96,6 @@ def set_property(type,key,data):
8996 PROPERTY .set_phone_number (key , data )
9097 print (PROPERTY .result )
9198
99+
92100if __name__ == '__main__' :
93101 main ()
0 commit comments