Пример #1
0
    def rechts_pressed(self):
        print("rechts pressed")
        if self.state == "cycling":
            if self.baskets['currentlyWashing'] is None:
                self.page += 1
                self.set_display_content()
            else:
                self.state = "asked_to_cancel"
                self.ask_to_cancel()

        elif self.state == "confirm_mand":
            # Switch tussen 1 en 2
            self.mand = 1 if self.mand == 2 else 2
            self.query_mand()

        elif self.state == "query_start_time":
            # optellen bij de uitsteltijd
            self.uitstel_start += 5
            self.query_start_time()

        elif self.state == "asked_to_cancel":
            self.state = "confirm_cancellation"
            self.ask_cancellation_confirmation()

        elif self.state == "confirm_cancellation":
            DataRepository.cancel_was(
                self.baskets['currentlyWashing']['Volgnummer'])
            self.update_baskets()

        elif self.state == "welcome":
            self.update_baskets()
Пример #2
0
    def midden_pressed(self):
        print("midden pressed")
        # niets confirmen op status pagina / als je al aan het wassen bent
        if self.state == "cycling":
            if self.page > 0:
                self.state = "confirm_selection"
                self.confirm_selection()  # toont programma details
            else:
                if not self.hatch:
                    self.open_hatch()
                else:
                    self.close_hatch()

        elif self.state == "confirm_selection":
            self.state = "confirm_mand"
            self.query_mand()

        elif self.state == "confirm_mand":
            self.state = "query_start_time"
            self.query_start_time()

        elif self.state == "query_start_time":
            # was schedulen en in de database steken
            volgnummer = DataRepository.start_washing(
                self.programmas[self.page - 1].get('Id', 0),
                self.mand,
                (datetime.datetime.now() +
                 datetime.timedelta(minutes=self.uitstel_start)),
            )

            self.update_baskets()

            if self.uitstel_start == 0:
                # Direct starten (3 seconden wachten zodat gebruiker hand kan wegdoen)
                DataRepository.commence_washing(volgnummer)
                time.sleep(3)
                LCDController.drop_into_machine(self.mand)

        elif self.state == "asked_to_cancel":
            self.state = "confirm_cancellation"
            self.ask_cancellation_confirmation()

        elif self.state == "confirm_cancellation":
            DataRepository.cancel_was(
                self.baskets['currentlyWashing']['Volgnummer'])
            self.update_baskets()

        elif self.state == "welcome":
            self.update_baskets()
Пример #3
0
def cancel_was(volgnummer):
    try:
        print("Canceling %s" % volgnummer)
        data = DataRepository.cancel_was(volgnummer)

        if data is not None:
            return jsonify(worked=1), 200

        else:
            return jsonify(worked=0), 404

    except Exception as ex:
        return jsonify(error=str(ex)), 404