@@ -61,7 +61,21 @@ def get_the_url(base_url: str) -> str:
6161 wm .run ()
6262 return problem_url
6363
64- def confirm_data (data : Data ) -> Data :
64+ def parse_data (manager : ptg .WindowManager , window : ptg .Window , data : Data ) -> None :
65+ """ Parse the data and choose the language to solve the problem """
66+ for widget in window :
67+ if isinstance (widget , ptg .InputField ):
68+ if widget .prompt == "Title: " :
69+ data .title = widget .value
70+ elif widget .prompt == "Level: " :
71+ data .level = widget .value
72+ elif widget .prompt == "Base path:" :
73+ data .problem_path = widget .value
74+ elif widget .prompt == "Solve with:" :
75+ data .solve_with = [str (s ).strip () for s in widget .value .split ("," )]
76+ manager .stop ()
77+
78+ def confirm_data (data : Data ) -> None :
6579 """ Show the tui using the pytermgui for confirm the data and choose the language to solve the problem """
6680 with ptg .WindowManager () as wm :
6781 wm .layout .add_slot ("Body" )
@@ -71,16 +85,14 @@ def confirm_data(data: Data) -> Data:
7185 ptg .InputField (data .title , prompt = "Title: " ),
7286 ptg .InputField (data .level , prompt = "Level: " ),
7387 ptg .InputField (data .problem_path , prompt = "Base path:" ),
88+ ptg .InputField ("rust," , prompt = "Solve with:" ),
7489 "" ,
75- ["Confirm" , lambda * _ : wm . stop ( )],
90+ ["Confirm" , lambda * _ : parse_data ( wm , window , data )],
7691 width = 60 ,
7792 box = "DOUBLE" ,
7893 )
7994 .set_title ("[green bold]Confirm the data" )
8095 .center ()
8196 )
8297 wm .add (window )
83- wm .run ()
84-
85- data .solve_with = ["python" , "java" , "c++" , "c" , "go" ]
86- return data
98+ wm .run ()
0 commit comments