test-kivy-app/main.py

77 lines
2.0 KiB
Python
Raw Normal View History

2024-09-15 19:32:26 +00:00
from kivy.lang import Builder
from kivy.properties import ObjectProperty
2024-09-15 21:31:05 +00:00
# from kivy.app import App
# from kivy.uix.button import Button
# from kivy.uix.gridlayout import GridLayout
2024-09-17 19:22:22 +00:00
from kivy.core.window import Window
2024-09-15 19:32:26 +00:00
2024-09-17 19:22:22 +00:00
### appbar
###
2024-09-15 17:57:02 +00:00
import requests
2024-09-15 21:31:05 +00:00
from kivymd.app import MDApp
from kivymd.theming import ThemeManager
from kivymd.uix.gridlayout import MDGridLayout
from kivymd.uix.button import MDButton, MDButtonText
2024-09-15 19:32:26 +00:00
# from kivymd.uix.label import MDLabel
# from kivymd.uix.anchorlayout import MDAnchorLayout
2024-09-15 21:31:05 +00:00
from kivymd.uix.boxlayout import MDBoxLayout
2024-09-15 19:32:26 +00:00
# from kivymd.icon_definitions import md_icons
2024-09-17 19:22:22 +00:00
from kivymd.uix.screen import MDScreen
2024-09-15 17:57:02 +00:00
2024-09-17 19:22:22 +00:00
Window.size = (480, 853)
2024-09-15 17:57:02 +00:00
2024-09-15 19:32:26 +00:00
from kivy.config import Config
Config.set('kivy', 'keyboard_mode', 'systemanddock')
2024-09-15 17:57:02 +00:00
def isAvailable(ip):
try:
response = requests.get("http://" + ip, timeout=5)
# print("Yes")
2024-09-17 19:22:22 +00:00
return "shield-check"
2024-09-15 17:57:02 +00:00
except requests.ConnectionError:
# return False
# print("No")
2024-09-17 19:22:22 +00:00
return "server-network-off"
2024-09-15 17:57:02 +00:00
except requests.exceptions.InvalidURL:
return "?"
2024-09-17 19:22:22 +00:00
class Container(MDScreen):
# openwrt = ObjectProperty(None)
2024-09-15 17:57:02 +00:00
def checkAvailability(self):
openwrt = "10.1.0.1"
polaris = "10.1.0.5"
raspberry_pi = "10.1.0.9"
udongein_xyz = "udongein.xyz"
2024-09-17 19:22:22 +00:00
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))
2024-09-15 17:57:02 +00:00
2024-09-15 12:12:16 +00:00
2024-09-15 21:31:05 +00:00
class MyApp(MDApp):
theme_cls = ThemeManager()
2024-09-15 17:57:02 +00:00
Title = 'Uptime Check'
2024-09-15 12:12:16 +00:00
def build(self):
2024-09-15 21:31:05 +00:00
self.theme_cls.theme_style = "Light"
self.theme_cls.primary_palette = "Green" # "Purple", "Red"
2024-09-17 19:22:22 +00:00
# return Container()
# return MDScreen()
return self.root
# return Builder.load_file("mycopy.kv")
2024-09-15 12:12:16 +00:00
MyApp().run()