44import argparse
55from narkdown .exporter import NotionExporter
66
7+
78def str2bool (v ):
89 if isinstance (v , bool ):
9- return v
10- if v .lower () in (' yes' , ' true' , 't' , 'y' , '1' ):
10+ return v
11+ if v .lower () in (" yes" , " true" , "t" , "y" , "1" ):
1112 return True
12- elif v .lower () in ('no' , ' false' , 'f' , 'n' , '0' ):
13+ elif v .lower () in ("no" , " false" , "f" , "n" , "0" ):
1314 return False
1415 else :
15- raise argparse .ArgumentTypeError ('Boolean value expected.' )
16+ raise argparse .ArgumentTypeError ("Boolean value expected." )
17+
1618
1719def str2dict (s ):
18- return json .loads (s .replace ("'" , "\" " ))
20+ return json .loads (s .replace ("'" , '"' ))
21+
1922
2023def parse_args ():
21- parser = argparse .ArgumentParser (description = "Export markdown docs from notion database." )
22- parser .add_argument ('database_url' )
23- parser .add_argument ('--docs-directory' , default = "./docs" )
24- parser .add_argument ('--recursive-export' , type = str2bool , default = True )
25- parser .add_argument ('--create-page-directory' , type = str2bool , default = True )
26- parser .add_argument ('--add-metadata' , type = str2bool , default = False )
27- parser .add_argument ('--lower-pathname' , type = str2bool , default = False )
28- parser .add_argument ('--lower-filename' , type = str2bool , default = False )
29- parser .add_argument ('--line-break' , type = str2bool , default = False )
30- parser .add_argument ('--category-column-name' , default = "" )
31- parser .add_argument ('--tags-column-name' , default = "" )
32- parser .add_argument ('--created-time-column-name' , default = "" )
33- parser .add_argument ('--status-column-name' , default = "" )
34- parser .add_argument ('--current-status' , default = "" )
35- parser .add_argument ('--next-status' , default = "" )
36- parser .add_argument ('--filters' , default = "{}" )
37-
24+ parser = argparse .ArgumentParser (
25+ description = "Export markdown docs from notion database."
26+ )
27+ parser .add_argument ("database_url" )
28+ parser .add_argument ("--docs-directory" , default = "./docs" )
29+ parser .add_argument ("--recursive-export" , type = str2bool , default = True )
30+ parser .add_argument ("--create-page-directory" , type = str2bool , default = True )
31+ parser .add_argument ("--add-metadata" , type = str2bool , default = False )
32+ parser .add_argument ("--lower-pathname" , type = str2bool , default = False )
33+ parser .add_argument ("--lower-filename" , type = str2bool , default = False )
34+ parser .add_argument ("--line-break" , type = str2bool , default = False )
35+ parser .add_argument ("--category-column-name" , default = "" )
36+ parser .add_argument ("--tags-column-name" , default = "" )
37+ parser .add_argument ("--created-time-column-name" , default = "" )
38+ parser .add_argument ("--status-column-name" , default = "" )
39+ parser .add_argument ("--current-status" , default = "" )
40+ parser .add_argument ("--next-status" , default = "" )
41+ parser .add_argument ("--filters" , default = "{}" )
42+
3843 return parser .parse_args ()
3944
45+
4046if __name__ == "__main__" :
4147 args = parse_args ()
42-
48+
4349 token = os .environ .get ("NOTION_TOKEN" )
4450 args .filters = str2dict (args .filters )
4551
@@ -51,7 +57,7 @@ def parse_args():
5157 add_metadata = args .add_metadata ,
5258 lower_pathname = args .lower_pathname ,
5359 lower_filename = args .lower_filename ,
54- line_break = args .line_break
60+ line_break = args .line_break ,
5561 ).get_notion_pages_from_database (
5662 database_url = args .database_url ,
5763 category_column_name = args .category_column_name ,
@@ -60,6 +66,5 @@ def parse_args():
6066 status_column_name = args .status_column_name ,
6167 current_status = args .current_status ,
6268 next_status = args .next_status ,
63- filters = args .filters
69+ filters = args .filters ,
6470 )
65-
0 commit comments