~comcloudway/choochoo

760f101024b7759f59b28d3dc42db0187ee2435e — Jakob Meier 5 months ago 66a8745
add reload ticket functionallity

will automatically overwrite the file on disk with the updated data
if unsuccessful, nothing will be done
1 files changed, 21 insertions(+), 0 deletions(-)

M choochoo/ticketview.py
M choochoo/ticketview.py => choochoo/ticketview.py +21 -0
@@ 56,6 56,27 @@ class TicketScreen(Adw.NavigationPage):
        if action == "remove":
            self.ticket.delete()
            self.activate_action("win.home", None)
    def show_toast(self, title):
        toast = Adw.Toast()
        toast.set_title(title)
        toast.set_timeout(2)
        self.overlay.add_toast(toast)

    def fetch(self):
        GLib.idle_add(self.show_toast, _("Fetching ticket information"))
        self.task_fetch()

    def task_fetch(self):
        tnumber = self.ticket.ticket_number
        tsurname = self.ticket.last_name
        ticket = Ticket.from_network(tnumber, tsurname)
        if ticket is None:
            GLib.idle_add(self.show_toast, _("Couldn't refresh ticket. Try again later"))
        else:
            self.ticket = ticket
            self.ticket.save()
            GLib.idle_add(self.show_toast, _("Done"))
            GLib.idle_add(self.update)

    def generate_code(self):
        barcode = self.ticket.barcode