V2.3
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"CurrentProjectSetting": null
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"ExpandedNodes": [
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"SelectedNode": "\\beeptimes.py",
|
||||||
|
"PreviewInSolutionExplorer": false
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,15 @@
|
|||||||
|
[GENERAL]
|
||||||
|
BeepDetailsDirectory = \\0.0.0.0\RealTimeTennis\DataBridge1\Logs\BounceDetails_1.log
|
||||||
|
CourtName = CHANGE ME
|
||||||
|
|
||||||
|
[THRESHOLDS]
|
||||||
|
Thresh1 = 120
|
||||||
|
Thresh1str = Cheating?
|
||||||
|
Thresh2 = 150
|
||||||
|
Thresh2str = Looking good
|
||||||
|
Thresh3 = 250
|
||||||
|
Thresh3str = Little slow
|
||||||
|
Thresh4 = 350
|
||||||
|
Thresh4str = Noticeable slow
|
||||||
|
Thresh5 = 351
|
||||||
|
Thresh5str = Help!!!
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
[GENERAL]
|
||||||
|
BeepDetailsDirectory = \\192.168.0.133\RealTimeTennis\DataBridge1\Logs\BounceDetails_1.log
|
||||||
|
CourtName = CHANGE ME
|
||||||
|
|
||||||
|
[THRESHOLDS]
|
||||||
|
Thresh1 = 120
|
||||||
|
Thresh1str = Cheating?
|
||||||
|
Thresh2 = 150
|
||||||
|
Thresh2str = Looking good
|
||||||
|
Thresh3 = 250
|
||||||
|
Thresh3str = Little slow
|
||||||
|
Thresh4 = 350
|
||||||
|
Thresh4str = Noticeable slow
|
||||||
|
Thresh5 = 351
|
||||||
|
Thresh5str = Help!!!
|
||||||
+134
-90
@@ -10,31 +10,60 @@ from kivy.clock import Clock
|
|||||||
from kivy.lang import Builder
|
from kivy.lang import Builder
|
||||||
from kivy.properties import StringProperty
|
from kivy.properties import StringProperty
|
||||||
from kivy.core.window import Window
|
from kivy.core.window import Window
|
||||||
|
from kivy.config import Config
|
||||||
from tkinter import filedialog
|
from tkinter import filedialog
|
||||||
from tkinter import simpledialog
|
from tkinter import simpledialog
|
||||||
from KivyOnTop import register_topmost, unregister_topmost
|
from KivyOnTop import register_topmost, unregister_topmost
|
||||||
|
import configparser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
from tkinter import *
|
from tkinter import *
|
||||||
|
|
||||||
|
#Configuration loading
|
||||||
|
|
||||||
|
config = configparser.ConfigParser()
|
||||||
|
config.read('Configuration.ini')
|
||||||
|
|
||||||
|
# Accessing variables from the 'GENERAL' section
|
||||||
|
Court_name = str(config['GENERAL']['CourtName'])
|
||||||
|
filePath = str(config['GENERAL']['BeepDetailsDirectory'])
|
||||||
|
print(filePath)
|
||||||
|
if filePath == "\\\\0.0.0.0\\RealTimeTennis\\DataBridge1\\Logs\\BounceDetails_1.log":
|
||||||
|
print(chr(27) + "[2J")
|
||||||
|
print("##################################################")
|
||||||
|
print("You have not changed the default Configuration.ini")
|
||||||
|
print("Please change the IP")
|
||||||
|
print("##################################################")
|
||||||
|
input()
|
||||||
|
exit()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Accessing variables from the 'THRESHOLDS' section
|
||||||
|
Thresh1 = int(config['THRESHOLDS']['Thresh1'])
|
||||||
|
Thresh2 = int(config['THRESHOLDS']['Thresh2'])
|
||||||
|
Thresh3 = int(config['THRESHOLDS']['Thresh3'])
|
||||||
|
Thresh4 = int(config['THRESHOLDS']['Thresh4'])
|
||||||
|
Thresh5 = int(config['THRESHOLDS']['Thresh5'])
|
||||||
|
|
||||||
|
|
||||||
|
Thresh1str = str(config['THRESHOLDS']['Thresh1str'])
|
||||||
|
Thresh2str = str(config['THRESHOLDS']['Thresh2str'])
|
||||||
|
Thresh3str = str(config['THRESHOLDS']['Thresh3str'])
|
||||||
|
Thresh4str = str(config['THRESHOLDS']['Thresh4str'])
|
||||||
|
Thresh5str = str(config['THRESHOLDS']['Thresh5str'])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
root = Tk()
|
root = Tk()
|
||||||
root.withdraw()
|
root.withdraw()
|
||||||
folder_selected = filedialog.askopenfilename()
|
|
||||||
|
|
||||||
|
|
||||||
print(folder_selected)
|
print("Court Name: " + Court_name)
|
||||||
|
|
||||||
Court_name = simpledialog.askstring(title="Court Name",prompt="What Court is this?")
|
print("BeepDetails Directory: "+ filePath)
|
||||||
|
|
||||||
print(Court_name)
|
|
||||||
#Builder.load_file('update_label.kv')
|
|
||||||
|
|
||||||
|
|
||||||
filePath = (folder_selected)
|
|
||||||
|
|
||||||
print(filePath)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -121,6 +150,14 @@ class MySec(BoxLayout):
|
|||||||
info = StringProperty('')
|
info = StringProperty('')
|
||||||
average = StringProperty('')
|
average = StringProperty('')
|
||||||
Court_name = StringProperty('')
|
Court_name = StringProperty('')
|
||||||
|
Config.set('kivy','window_icon','./beeps.ico')
|
||||||
|
Config.set('graphics', 'always_on_top','1')
|
||||||
|
#Config.set('graphics','position', 'custom' )
|
||||||
|
Config.set('graphics','left',10)
|
||||||
|
Config.set('graphics','top',50)
|
||||||
|
Config.set('graphics','height',300)
|
||||||
|
Config.set('graphics','width',300)
|
||||||
|
Config.write()
|
||||||
|
|
||||||
|
|
||||||
#rgba = StringProperty('')
|
#rgba = StringProperty('')
|
||||||
@@ -128,11 +165,11 @@ class MySec(BoxLayout):
|
|||||||
|
|
||||||
class MyApp(App):
|
class MyApp(App):
|
||||||
def build(self):
|
def build(self):
|
||||||
self.title = 'Beeper V2.1'
|
self.title = 'Beeper V2.3'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
register_topmost(Window, 'Beeper V2.1')
|
|
||||||
Clock.schedule_interval(lambda dt: self.update_time(), 0.5)
|
Clock.schedule_interval(lambda dt: self.update_time(), 0.5)
|
||||||
|
|
||||||
return MySec()
|
return MySec()
|
||||||
@@ -142,120 +179,127 @@ class MyApp(App):
|
|||||||
del list[9]
|
del list[9]
|
||||||
else:
|
else:
|
||||||
self.root.Court_name = Court_name
|
self.root.Court_name = Court_name
|
||||||
with open(filePath,'r') as f:
|
try:
|
||||||
lastLine = None
|
with open(filePath,'r') as f:
|
||||||
lines = f.readlines()
|
lastLine = None
|
||||||
if lines[-1] != lastLine:
|
lines = f.readlines()
|
||||||
lastLine = lines[-1]
|
if lines[-1] != lastLine:
|
||||||
BC = lastLine.find("Bounce Count")
|
lastLine = lines[-1]
|
||||||
BC = lastLine[BC+14:BC+15]
|
BC = lastLine.find("Bounce Count")
|
||||||
BC = int(BC)
|
BC = lastLine[BC+14:BC+15]
|
||||||
|
BC = int(BC)
|
||||||
|
|
||||||
if BC == 0:
|
if BC == 0:
|
||||||
|
|
||||||
|
|
||||||
CN = lastLine.find("Crosses Net")
|
CN = lastLine.find("Crosses Net")
|
||||||
CN = lastLine[CN+13:CN+17]
|
CN = lastLine[CN+13:CN+17]
|
||||||
|
|
||||||
if CN == 'true':
|
if CN == 'true':
|
||||||
|
|
||||||
diff = lastLine.find("Time Diff")
|
diff = lastLine.find("Time Diff")
|
||||||
diff = lastLine[diff+11:diff+19]
|
diff = lastLine[diff+11:diff+19]
|
||||||
diff = float(diff)
|
diff = float(diff)
|
||||||
diff = round((diff * 1000),1)
|
diff = round((diff * 1000),1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if diff <= 120:
|
if diff <= Thresh1:
|
||||||
diff1 = (str(diff)+'ms')
|
diff1 = (str(diff)+'ms')
|
||||||
self.root.seconds_string = diff1
|
self.root.seconds_string = diff1
|
||||||
self.root.info = 'Cheating?'
|
self.root.info = Thresh1str
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if list[0] != diff:
|
if list[0] != diff:
|
||||||
list.insert(0,diff)
|
list.insert(0,diff)
|
||||||
avg = str(round((sum(list)/10),1))
|
avg = str(round((sum(list)/10),1))
|
||||||
self.root.average = ('10 beep average:' + avg)
|
self.root.average = ('10 beep average:' + avg)
|
||||||
self.root.rgba = [218/255,165/255,32/255,1]
|
self.root.rgba = [218/255,165/255,32/255,1]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
elif ((diff > 120) and (diff <= 150)):
|
elif ((diff > Thresh1) and (diff <= Thresh2)):
|
||||||
diff1 = (str(diff)+'ms')
|
diff1 = (str(diff)+'ms')
|
||||||
self.root.seconds_string = diff1
|
self.root.seconds_string = diff1
|
||||||
self.root.info = 'Looking good'
|
self.root.info = Thresh2str
|
||||||
|
|
||||||
if list[0] != diff:
|
if list[0] != diff:
|
||||||
list.insert(0,diff)
|
list.insert(0,diff)
|
||||||
avg = str(round((sum(list)/10),1))
|
avg = str(round((sum(list)/10),1))
|
||||||
|
|
||||||
self.root.average = ('10 beep average:' + avg)
|
self.root.average = ('10 beep average:' + avg)
|
||||||
self.root.rgba = [19/255,229/255,19/255,1]
|
self.root.rgba = [19/255,229/255,19/255,1]
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif ((diff > 150) and (diff <= 250)):
|
elif ((diff > Thresh2) and (diff <= Thresh3)):
|
||||||
diff1 = (str(diff)+'ms')
|
diff1 = (str(diff)+'ms')
|
||||||
self.root.seconds_string = diff1
|
self.root.seconds_string = diff1
|
||||||
self.root.info = 'Little slow'
|
self.root.info = Thresh3str
|
||||||
|
|
||||||
if list[0] != diff:
|
if list[0] != diff:
|
||||||
list.insert(0,diff)
|
list.insert(0,diff)
|
||||||
avg = str(round((sum(list)/10),1))
|
avg = str(round((sum(list)/10),1))
|
||||||
self.root.average = ('10 beep average:' + avg)
|
self.root.average = ('10 beep average:' + avg)
|
||||||
self.root.rgba = [235/255,116/255,19/255,1]
|
self.root.rgba = [235/255,116/255,19/255,1]
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif ((diff > 250) and (diff <= 350)):
|
elif ((diff > Thresh3) and (diff <= Thresh4)):
|
||||||
diff1 = (str(diff)+'ms')
|
diff1 = (str(diff)+'ms')
|
||||||
self.root.seconds_string = diff1
|
self.root.seconds_string = diff1
|
||||||
self.root.info = 'Noticeable slow'
|
self.root.info = Thresh4str
|
||||||
|
|
||||||
if list[0] != diff:
|
if list[0] != diff:
|
||||||
list.insert(0,diff)
|
list.insert(0,diff)
|
||||||
avg = str(round((sum(list)/10),1))
|
avg = str(round((sum(list)/10),1))
|
||||||
self.root.average = ('10 beep average:' + avg)
|
self.root.average = ('10 beep average:' + avg)
|
||||||
self.root.rgba = [219/255,0/255,0/255,1]
|
self.root.rgba = [219/255,0/255,0/255,1]
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
elif diff > 351:
|
elif diff > Thresh5:
|
||||||
diff1 = (str(diff)+'ms')
|
diff1 = (str(diff)+'ms')
|
||||||
self.root.seconds_string = diff1
|
self.root.seconds_string = diff1
|
||||||
self.root.info = 'Help!!!'
|
self.root.info = Thresh5str
|
||||||
|
|
||||||
if list[0] != diff:
|
if list[0] != diff:
|
||||||
list.insert(0,diff)
|
list.insert(0,diff)
|
||||||
avg = str(round((sum(list)/10),1))
|
avg = str(round((sum(list)/10),1))
|
||||||
self.root.average = ('10 beep average:' + avg)
|
self.root.average = ('10 beep average:' + avg)
|
||||||
self.root.rgba = [90/255,4/255,4/255,1]
|
self.root.rgba = [90/255,4/255,4/255,1]
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
except:
|
||||||
else:
|
print(chr(27) + "[2J")
|
||||||
pass
|
print("#################################################################################")
|
||||||
|
print(filePath + "Is not reachable, please check its accessible through file explorer")
|
||||||
|
input()
|
||||||
|
exit()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user