test-kivy-app/main.py
2024-09-17 22:48:18 +03:00

77 lines
2.0 KiB
Python

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()