from kivy.lang import Builder from kivy.properties import ObjectProperty # from kivy.app import App # from kivy.uix.button import Button # from kivy.uix.gridlayout import GridLayout from kivy.core.window import Window ### appbar ### import requests from kivymd.app import MDApp from kivymd.theming import ThemeManager from kivymd.uix.gridlayout import MDGridLayout from kivymd.uix.button import MDButton, MDButtonText # from kivymd.uix.label import MDLabel # from kivymd.uix.anchorlayout import MDAnchorLayout from kivymd.uix.boxlayout import MDBoxLayout # from kivymd.icon_definitions import md_icons from kivymd.uix.screen import MDScreen Window.size = (480, 853) from kivy.config import Config Config.set('kivy', 'keyboard_mode', 'systemanddock') def isAvailable(ip): try: response = requests.get("http://" + ip, timeout=5) # print("Yes") return "shield-check" except requests.ConnectionError: # return False # print("No") return "server-network-off" except requests.exceptions.InvalidURL: return "?" class Container(MDScreen): # openwrt = ObjectProperty(None) def checkAvailability(self): openwrt = "10.1.0.1" polaris = "10.1.0.5" raspberry_pi = "10.1.0.9" udongein_xyz = "udongein.xyz" self.openwrt_icon.icon = isAvailable(openwrt) self.polaris_icon.icon = isAvailable(polaris) self.raspberry_pi_icon.icon = isAvailable(raspberry_pi) self.udongein_xyz_icon.icon = isAvailable(udongein_xyz) self.text_lastinput_show.text = str(self.text_input.text) + ' ' self.text_input_check_icon.icon = isAvailable(str(self.text_input.text)) class MyApp(MDApp): theme_cls = ThemeManager() Title = 'Uptime Check' def build(self): self.theme_cls.theme_style = "Light" self.theme_cls.primary_palette = "Green" # "Purple", "Red" # return Container() # return MDScreen() return self.root # return Builder.load_file("mycopy.kv") MyApp().run()