77 lines
2.0 KiB
Python
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() |