Example #1
0
class MainApp():
    class Constants:
        port = "/dev/tty.usbmodem1421"
        baud = 115200
        close_event = "WM_DELETE_WINDOW"

    def __init__(self):
        for port in list_ports.comports(include_links=True):
            print(port.device, port.name, port.description)

        self.__master = MainView()
        self.__arduino = serial.Serial(self.Constants.port, self.Constants.baud)
        self.__master.protocol(self.Constants.close_event, self.__on_closing)
        self.__update_clock()

    def run(self):
        self.__master.mainloop()

    def __handle_data(self, data):
        clean_values = data.strip(' \n\r').split(",")
        bar_value = int(clean_values[1])
        value_text = clean_values[0]

        self.__master.update_bar(bar_value)
        self.__master.update_text(value_text)


    def __update_clock(self):
        data = self.__arduino.readline().decode()
        self.__handle_data(data)
        self.__master.after(1, self.__update_clock)

    def __on_closing(self):
        self.__arduino.close()
        self.__master.destroy()
class MainApp():
    def __init__(self):
        self.__master = MainView(send_handler = self.__send)
        self.__client = MessageManager()

    def run(self):
        self.__master.mainloop()

    def __send(self, phone, message):
        self.__client.send_message(phone, message)
Example #3
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler = self.__convert)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        result = str(self.__currency.get_convertion(ammount))
        self.__master.update_result(result)
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)
        self.__currency = CurrencyManager.get_currency("USD")

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        self.__currency = CurrencyManager.get_currency(from_currency)
        result = str(self.__currency.get_convertion(to_currency, ammount))
Example #5
0
class MainApp():
    def __init__(self):
        self.__currency = CurrencyManager.get_currency("USD")
        self.__menu = self.__currency.rates
        self.__master = MainView(convert_handler=self.__convert,
                                 menu=self.__menu)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        result = str(self.__currency.get_convertion(to_currency, ammount))
        self.__master.update_result(result)
Example #6
0
class MainApp():
    class Constants:
        port = "COM8"
        baud = 115200
        close_event = "WM_DELETE_WINDOW"
        heigth = 500
        width = 600

    def __init__(self):
        for port in list_ports.comports(include_links=True):
            print(port.device, port.name, port.description)

        self.__master = MainView()
        self.__brain = DrawBrain()
        self.__arduino = serial.Serial(self.Constants.port,
                                       self.Constants.baud)
        self.__master.protocol(self.Constants.close_event, self.__on_closing)
        self.__initial_position = False
        self.__update_clock()
        self.__color = None

    def run(self):
        self.__master.mainloop()

    def __handle_data(self, data):
        clean_values = data.strip(' \r\n').split(',')
        try:
            vertical_value = self.Constants.heigth - int(clean_values[0])
            horizontal_value = int(clean_values[1])
        except Exception:
            return
        else:
            if self.__initial_position:
                coordinates = self.__brain.coordinates(vertical_value,
                                                       horizontal_value)
                self.__master.update_line(coordinates)
            else:
                self.__brain.start(vertical_value, horizontal_value)
                self.__initial_position = True
            self.__master.update_position('PosiciĆ³n: ' +
                                          str(horizontal_value) + ',' +
                                          str(clean_values[0]))

    def __update_clock(self):
        data = self.__arduino.readline().decode()
        self.__handle_data(data)
        self.__master.after(1, self.__update_clock)

    def __on_closing(self):
        self.__arduino.close()
        self.__master.destroy()
Example #7
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        self.initial_currency = from_currency
        self.initial_convertion = CurrencyManager.get_currency(
            self.initial_currency)
        result = str(
            self.initial_convertion.get_convertion(to_currency, ammount))
        self.__master.update_result(result)
Example #8
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)
        self.__currency = CurrencyManager.get_currency(
            self.__master.Constants.default_from_currency)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        self.__currency = CurrencyManager.get_currency(
            self.__master.get_from_currency())
        result = str(self.__currency.get_convertion(to_currency, ammount))
        self.__master.update_result(result)
Example #9
0
class MainApp():
    def __init__(self):
        self.__get_currency("USD")
        self.__master = MainView(convert_handler = self.__convert, origin_currency = self.__get_currency, options = self.__currencies)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        result = str(self.__currency.get_convertion(to_currency, ammount))
        self.__master.update_result(result)

    def __get_currency(self, value):
        self.__currency = CurrencyManager.get_currency(value)
        self.__currencies = self.__currency.rates
Example #10
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)
        self.__currency = CurrencyManager.get_currency(
            str(self.__master.currency_name))

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        self.__currency = CurrencyManager.get_currency(from_currency)
        if from_currency == to_currency:
            result = ammount
        else:
            result = str(self.__currency.get_convertion(to_currency, ammount))
        self.__master.update_result(result)
Example #11
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)
        self.__currency = CurrencyManager.get_currency(
            self.__master.origin_currency)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):
        self.__currency = CurrencyManager.get_currency(from_currency)
        try:
            result = str(self.__currency.get_convertion(to_currency, ammount))
            self.__master.update_result(result)
        except Exception as NoneType:

            print('None Type error in Currency')
Example #12
0
class MainApp():
    def __init__(self):
        for port in list_ports.comports(include_links=True):
            print(port.device, port.name, port.description)

        self.__master = MainView(tap_handler=self.__toggle_did_change)
        self.__arduino = serial.Serial('/dev/tty.usbmodem1421', 115200)
        self.__master.protocol("WM_DELETE_WINDOW", self.__on_closing)

    def run(self):
        self.__master.mainloop()

    def __toggle_did_change(self, state):
        value = str(1 if state else 0).encode('ascii')
        self.__arduino.write(value)

    def __on_closing(self):
        self.__arduino.close()
        self.__master.destroy()
Example #13
0
class MainApp():
    def __init__(self):
        self.__master = MainView(convert_handler=self.__convert)
        self.__currency = CurrencyManager.get_currency(
            self.__master.Constants.exchange_rate)

    def run(self):
        self.__master.mainloop()

    def __convert(self, from_currency, to_currency, ammount):

        if from_currency == to_currency:
            return self.__master.update_result(ammount)
        try:
            if from_currency != self.__master.Constants.new_exchange_rate:
                self.__currency = CurrencyManager.get_currency(
                    self.__master.Constants.new_exchange_rate)
            result = str(self.__currency.get_convertion(to_currency, ammount))
            self.__master.update_result(result)
        except ValueError:
            return None
Example #14
0
class MainApp():

    def __init__(self):
        self.__master = MainView(tap_number_handler = self.__did_number_tapped, tap_operator_handler = self.__did_operator_tapped)

        self.__display_text = "0"
        self.__display_number = 0
        self.__is_typing_number = True
        self.__master.display(self.__display_text)

    def run(self):
        self.__master.mainloop()

    def __did_number_tapped(self, number):
        if self.__is_typing_number:
            self.__display_text = number.value if self.__display_text == Number.ZERO.value else self.__display_text + number.value
        else:
            self.__display_number = float(self.__display_text)
            self.__display_text = number.value
            self.__is_typing_number = True
        self.__update_diplay()

    def __did_operator_tapped(self, operator):
        if operator == UnaryOperator.DOT:
            self.__add_dot()
        else:
            self.__is_typing_number = False

    def __update_diplay(self):
        self.__master.display(self.__display_text)

    def __add_dot(self):
        if UnaryOperator.DOT.value in self.__display_text:
            return
        self.__display_text += UnaryOperator.DOT.value
        self.__update_diplay()
Example #15
0
class MainApp():
    class Constants:
        port = 'COM3'
        baud = 115200
        close_event = "WM_DELETE_WINDOW"

    def __init__(self):
        self.__master = MainView(tap_button_handler=self.__did_button_tap,
                                 tap_space_handler=self.__did_space_tap)
        self.__port = serial.Serial(self.Constants.port, self.Constants.baud)
        self.__master.protocol(self.Constants.close_event, self.__on_closing)
        self.__update_coordinate()

    def run(self):
        self.__master.mainloop()

    def __did_button_tap(self, color):
        self.__master.ChangeColor.line_color = color

    def __did_space_tap(self):
        self.__master.clean_screen()

    def __update_coordinate(self):
        coordinates = self.__port.readline().decode()
        self.__handle_coordinate(coordinates)
        self.__master.after(5, self.__update_coordinate)

    def __handle_coordinate(self, coordinate):
        clean_values = coordinate.strip(' \n\r').split(",")
        coordinate_y = int(clean_values[1])
        coordinate_x = int(clean_values[3])
        self.__master.update_canvas(coordinate_x, coordinate_y)

    def __on_closing(self):
        self.__port.close()
        self.__master.destroy()
Example #16
0
class MainApp():
    def __init__(self):
        self.__master = MainView(
            tap_number_handler=self.__did_number_tapped,
            tap_operator_handler=self.__did_operator_tapped)
        self.__brain = CalculatorBrain(
            update_handler=self.__result_was_updated)

        self.__display_text = "0"
        self.__display_number = 0
        self.__is_typing_number = True
        self.__master.display(self.__display_text)

    def run(self):
        self.__master.mainloop()

    def __did_number_tapped(self, number):
        if self.__is_typing_number:
            self.__display_text = number.value if self.__display_text == Number.ZERO.value else self.__display_text + number.value
        else:
            self.__display_text = number.value
            self.__is_typing_number = True
        self.__update_diplay()

    def __did_operator_tapped(self, operator):
        if operator == UnaryOperator.DOT:
            self.__add_dot()
        else:
            self.__is_typing_number = False
            if operator == UnaryOperator.EQUAL:
                self.__stack_number()
                self.__brain.perform_pending_operation()
            elif isinstance(operator, BinaryOperator):
                self.__brain.perform_pending_operation()
                self.__stack_number()
                self.__brain.add_pending_operation(operator)
            elif isinstance(operator, UnaryOperator):
                self.__stack_number()
                self.__brain.perform_uniary_operation(operator)

    def __update_diplay(self):
        self.__master.display(self.__display_text)

    def __add_dot(self):
        if UnaryOperator.DOT.value in self.__display_text:
            return

        if self.__is_typing_number:
            self.__display_text += UnaryOperator.DOT.value
        else:
            self.__display_text = Number.ZERO.value + UnaryOperator.DOT.value
            self.__is_typing_number = True

        self.__update_diplay()

    def __result_was_updated(self):
        text_value = str(self.__brain.result)
        self.__display_text = text_value
        self.__update_diplay()

    def __stack_number(self):
        caster = float if UnaryOperator.DOT.value in self.__display_text else int
        self.__display_number = caster(self.__display_text)

        self.__brain.stack_number(self.__display_number)
Example #17
0
class MainApp():
    def __init__(self):
        self.__master = MainView()

    def run(self):
        self.__master.mainloop()