@@ -61,7 +61,21 @@ def get_the_url(base_url: str) -> str:
61
61
wm .run ()
62
62
return problem_url
63
63
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 :
65
79
""" Show the tui using the pytermgui for confirm the data and choose the language to solve the problem """
66
80
with ptg .WindowManager () as wm :
67
81
wm .layout .add_slot ("Body" )
@@ -71,16 +85,14 @@ def confirm_data(data: Data) -> Data:
71
85
ptg .InputField (data .title , prompt = "Title: " ),
72
86
ptg .InputField (data .level , prompt = "Level: " ),
73
87
ptg .InputField (data .problem_path , prompt = "Base path:" ),
88
+ ptg .InputField ("rust," , prompt = "Solve with:" ),
74
89
"" ,
75
- ["Confirm" , lambda * _ : wm . stop ( )],
90
+ ["Confirm" , lambda * _ : parse_data ( wm , window , data )],
76
91
width = 60 ,
77
92
box = "DOUBLE" ,
78
93
)
79
94
.set_title ("[green bold]Confirm the data" )
80
95
.center ()
81
96
)
82
97
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