test-kivy-app/main.py

68 lines
1.8 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
# from kivy.core.window import Window
2024-09-15 19:32:26 +00:00
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
# from kivymd.uix.screen import MDScreen
2024-09-15 17:57:02 +00:00
# Window.size = (480, 853)
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-15 21:31:05 +00:00
return "Works"
2024-09-15 17:57:02 +00:00
except requests.ConnectionError:
# return False
# print("No")
2024-09-15 21:31:05 +00:00
return "No"
2024-09-15 17:57:02 +00:00
except requests.exceptions.InvalidURL:
return "?"
2024-09-15 21:31:05 +00:00
class Container(MDGridLayout):
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"
self.openwrt.text = isAvailable(openwrt)
self.polaris.text = isAvailable(polaris)
self.raspberry_pi.text = isAvailable(raspberry_pi)
self.udongein_xyz.text = isAvailable(udongein_xyz)
self.text_input_show.text = 'Other: ' + str(self.text_input.text)
self.text_input_check.text = isAvailable(str(self.text_input.text))
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-15 17:57:02 +00:00
return Container()
2024-09-15 12:12:16 +00:00
MyApp().run()