I have a script which creates JSON and save it in the current directory where the python script is lying. I want a GUI interface where I can save that output JSON in a particular folder selected form the Flet interface.
import flet
from flet import (
ElevatedButton,
FilePicker,
FilePickerResultEvent,
Page,
Row,
Text,
icons,
)
def main(page: Page):
page.bgcolor = "white"
# Pick files dialog
def pick_files_result(e: FilePickerResultEvent):
selected_files.value = (
", ".join(map(lambda f: f.name, e.files)) if e.files else "Cancelled!"
)
selected_files.update()
pick_files_dialog = FilePicker(on_result=pick_files_result)
selected_files = Text()
# Save file dialog
def save_file_result(e: FilePickerResultEvent):
save_file_path.value = e.path if e.path else "Cancelled!"
save_file_path.update()
save_file_dialog = FilePicker(on_result=save_file_result)
save_file_path = Text()
# hide all dialogs in overlay
page.overlay.extend([pick_files_dialog, save_file_dialog])
page.add(
Row(
[
ElevatedButton(
"Pick files",
icon=icons.UPLOAD_FILE,
on_click=lambda _: pick_files_dialog.pick_files(
allow_multiple=True
),
),
selected_files,
]
),
Row(
[
ElevatedButton(
"Save file",
icon=icons.SAVE,
on_click=lambda _: save_file_dialog.save_file(),
disabled=page.web,
),
save_file_path,
]
),
)
flet.app(target=main)
This is the program which I took from the flet documentation but cant understand how can I store the output json from the above code