From 9d3856f91bd815b7b3cdb9375d3b4ba1bfed8953 Mon Sep 17 00:00:00 2001 From: Micke Nordin Date: Sun, 19 Nov 2023 14:55:17 +0100 Subject: [PATCH] More stuff --- main.py | 38 +++++++++++++++++++++++--------------- src/__init__.py | 0 src/tinge/__init__.py | 1 + 3 files changed, 24 insertions(+), 15 deletions(-) create mode 100644 src/__init__.py diff --git a/main.py b/main.py index a614dd2..7902e8d 100755 --- a/main.py +++ b/main.py @@ -1,13 +1,15 @@ +from logging import disable import kivy kivy.require('2.2.1') from kivy.app import App from kivy.uix.boxlayout import BoxLayout -from kivy.uix.button import Button +from kivy.uix.button import Button, ColorProperty +from kivy.uix.label import Label from kivy.uix.screenmanager import Screen, ScreenManager -from tinge import HueBridge, Tinge +from src.tinge import HueBridge, Tinge class HueApp(App): @@ -27,29 +29,35 @@ class BridgeScreen(Screen): def __init__(self, tinge, **kwargs): super(BridgeScreen, self).__init__(**kwargs) self.tinge = tinge - for bridge_button in self.get_bridge_buttons(): + for bridge_button in self.set_bridge_buttons(): self.layout.add_widget(bridge_button) def press_button(self, bridge, button): print(bridge.get_ipaddress()) def manually_add(self, button): - print('hello') - - def get_bridge_buttons(self): - bridges = self.tinge.discover_new_bridges() - buttons = [] + bridges = self.tinge.discover_new_bridges() if bridges: for bridge in bridges: - bridge_button = Button( - text=str(bridge.get_ipaddress()), - on_press=lambda button: self.press_button(bridge, button)) - buttons.append(bridge_button) - else: + if not bridge in self.tinge.get_bridges(): + self.tinge.append_bridge(bridge) + + def set_bridge_buttons(self): + buttons = [] + bridges = self.tinge.get_bridges() + for bridge in bridges: bridge_button = Button( - text='Manually add bridge', - on_press=lambda button: self.manually_add(button)) + text=str(bridge.get_ipaddress()), + size_hint=(1, 0.1), + on_press=lambda button: self.press_button(bridge, button)) buttons.append(bridge_button) + bridge_button = Button( + text='Discover Bridges', + size_hint=(1, 0.1), + on_press=lambda button: self.manually_add(button)) + buttons.append(bridge_button) + sizer = Label(disabled = True) + buttons.append(sizer) return buttons diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/tinge/__init__.py b/src/tinge/__init__.py index 858fb6e..299d9af 100644 --- a/src/tinge/__init__.py +++ b/src/tinge/__init__.py @@ -48,6 +48,7 @@ class Tinge: """ upnp: UPnP = UPnP() discovered_devices = list() + print("Discovering new bridges") try: discovered_devices = upnp.discover() except http.client.BadStatusLine: