Updating script/server.py to correct pep8 violations
Used 'autopep8 --in-place --aggressive scripts/server.py' as initial style fixes.
This commit is contained in:
+27
-15
@@ -43,7 +43,8 @@ userDir = os.path.expanduser('~')
|
|||||||
with open(userDir + '/BirdNET-Pi/scripts/thisrun.txt', 'r') as f:
|
with open(userDir + '/BirdNET-Pi/scripts/thisrun.txt', 'r') as f:
|
||||||
this_run = f.readlines()
|
this_run = f.readlines()
|
||||||
audiofmt = "." + str(str(str([i for i in this_run if i.startswith('AUDIOFMT')]).split('=')[1]).split('\\')[0])
|
audiofmt = "." + str(str(str([i for i in this_run if i.startswith('AUDIOFMT')]).split('=')[1]).split('\\')[0])
|
||||||
priv_thresh = float("." + str(str(str([i for i in this_run if i.startswith('PRIVACY_THRESHOLD')]).split('=')[1]).split('\\')[0]))/10
|
priv_thresh = float(
|
||||||
|
"." + str(str(str([i for i in this_run if i.startswith('PRIVACY_THRESHOLD')]).split('=')[1]).split('\\')[0])) / 10
|
||||||
|
|
||||||
|
|
||||||
def loadModel():
|
def loadModel():
|
||||||
@@ -173,12 +174,12 @@ def predict(sample, sensitivity):
|
|||||||
#
|
#
|
||||||
# # Remove species that are on blacklist
|
# # Remove species that are on blacklist
|
||||||
|
|
||||||
human_cutoff = max(10,int(len(p_sorted)*priv_thresh))
|
human_cutoff = max(10, int(len(p_sorted) * priv_thresh))
|
||||||
|
|
||||||
for i in range(min(10, len(p_sorted))):
|
for i in range(min(10, len(p_sorted))):
|
||||||
if p_sorted[i][0]=='Human_Human':
|
if p_sorted[i][0] == 'Human_Human':
|
||||||
with open(userDir + '/BirdNET-Pi/HUMAN.txt', 'a') as rfile:
|
with open(userDir + '/BirdNET-Pi/HUMAN.txt', 'a') as rfile:
|
||||||
rfile.write(str(datetime.datetime.now())+str(p_sorted[i])+ ' ' + str(human_cutoff)+ '\n')
|
rfile.write(str(datetime.datetime.now()) + str(p_sorted[i]) + ' ' + str(human_cutoff) + '\n')
|
||||||
|
|
||||||
return p_sorted[:human_cutoff]
|
return p_sorted[:human_cutoff]
|
||||||
|
|
||||||
@@ -204,19 +205,19 @@ def analyzeAudioData(chunks, lat, lon, week, sensitivity, overlap,):
|
|||||||
# Make prediction
|
# Make prediction
|
||||||
p = predict([sig, mdata], sensitivity)
|
p = predict([sig, mdata], sensitivity)
|
||||||
# print("PPPPP",p)
|
# print("PPPPP",p)
|
||||||
HUMAN_DETECTED=False
|
HUMAN_DETECTED = False
|
||||||
|
|
||||||
#Catch if Human is recognized
|
# Catch if Human is recognized
|
||||||
for x in range(len(p)):
|
for x in range(len(p)):
|
||||||
if "Human" in p[x][0]:
|
if "Human" in p[x][0]:
|
||||||
HUMAN_DETECTED=True
|
HUMAN_DETECTED = True
|
||||||
|
|
||||||
# Save result and timestamp
|
# Save result and timestamp
|
||||||
pred_end = pred_start + 3.0
|
pred_end = pred_start + 3.0
|
||||||
|
|
||||||
#If human detected set all detections to human to make sure voices are not saved
|
# If human detected set all detections to human to make sure voices are not saved
|
||||||
if HUMAN_DETECTED == True:
|
if HUMAN_DETECTED == True:
|
||||||
p=[('Human_Human',0.0)]*10
|
p = [('Human_Human', 0.0)] * 10
|
||||||
|
|
||||||
detections[str(pred_start) + ';' + str(pred_end)] = p
|
detections[str(pred_start) + ';' + str(pred_end)] = p
|
||||||
|
|
||||||
@@ -226,12 +227,15 @@ def analyzeAudioData(chunks, lat, lon, week, sensitivity, overlap,):
|
|||||||
# print('DETECTIONS:::::',detections)
|
# print('DETECTIONS:::::',detections)
|
||||||
return detections
|
return detections
|
||||||
|
|
||||||
def sendAppriseNotifications(species,confidence):
|
|
||||||
|
def sendAppriseNotifications(species, confidence):
|
||||||
if os.path.exists(userDir + '/BirdNET-Pi/apprise.txt') and os.path.getsize(userDir + '/BirdNET-Pi/apprise.txt') > 0:
|
if os.path.exists(userDir + '/BirdNET-Pi/apprise.txt') and os.path.getsize(userDir + '/BirdNET-Pi/apprise.txt') > 0:
|
||||||
with open(userDir + '/BirdNET-Pi/scripts/thisrun.txt', 'r') as f:
|
with open(userDir + '/BirdNET-Pi/scripts/thisrun.txt', 'r') as f:
|
||||||
this_run = f.readlines()
|
this_run = f.readlines()
|
||||||
title = str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFICATION_TITLE')]).split('=')[1]).split('\\')[0]).replace('"', '')
|
title = str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFICATION_TITLE')]
|
||||||
body = str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFICATION_BODY')]).split('=')[1]).split('\\')[0]).replace('"', '')
|
).split('=')[1]).split('\\')[0]).replace('"', '')
|
||||||
|
body = str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFICATION_BODY')]
|
||||||
|
).split('=')[1]).split('\\')[0]).replace('"', '')
|
||||||
|
|
||||||
if str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFY_EACH_DETECTION')]).split('=')[1]).split('\\')[0]) == "1":
|
if str(str(str([i for i in this_run if i.startswith('APPRISE_NOTIFY_EACH_DETECTION')]).split('=')[1]).split('\\')[0]) == "1":
|
||||||
|
|
||||||
@@ -241,10 +245,17 @@ def sendAppriseNotifications(species,confidence):
|
|||||||
apobj.add(config)
|
apobj.add(config)
|
||||||
|
|
||||||
apobj.notify(
|
apobj.notify(
|
||||||
body=body.replace("$sciname",species.split("_")[0]).replace("$comname",species.split("_")[1]).replace("$confidence",confidence),
|
body=body.replace(
|
||||||
|
"$sciname",
|
||||||
|
species.split("_")[0]).replace(
|
||||||
|
"$comname",
|
||||||
|
species.split("_")[1]).replace(
|
||||||
|
"$confidence",
|
||||||
|
confidence),
|
||||||
title=title,
|
title=title,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def writeResultsToFile(detections, min_conf, path):
|
def writeResultsToFile(detections, min_conf, path):
|
||||||
|
|
||||||
print('WRITING RESULTS TO', path, '...', end=' ')
|
print('WRITING RESULTS TO', path, '...', end=' ')
|
||||||
@@ -253,8 +264,9 @@ def writeResultsToFile(detections, min_conf, path):
|
|||||||
rfile.write('Start (s);End (s);Scientific name;Common name;Confidence\n')
|
rfile.write('Start (s);End (s);Scientific name;Common name;Confidence\n')
|
||||||
for d in detections:
|
for d in detections:
|
||||||
for entry in detections[d]:
|
for entry in detections[d]:
|
||||||
if entry[1] >= min_conf and ((entry[0] in INCLUDE_LIST or len(INCLUDE_LIST) == 0) and (entry[0] not in EXCLUDE_LIST or len(EXCLUDE_LIST) == 0) ):
|
if entry[1] >= min_conf and ((entry[0] in INCLUDE_LIST or len(INCLUDE_LIST) == 0)
|
||||||
sendAppriseNotifications(str(entry[0]),str(entry[1]));
|
and (entry[0] not in EXCLUDE_LIST or len(EXCLUDE_LIST) == 0)):
|
||||||
|
sendAppriseNotifications(str(entry[0]), str(entry[1]))
|
||||||
rfile.write(d + ';' + entry[0].replace('_', ';') + ';' + str(entry[1]) + '\n')
|
rfile.write(d + ';' + entry[0].replace('_', ';') + ';' + str(entry[1]) + '\n')
|
||||||
rcnt += 1
|
rcnt += 1
|
||||||
print('DONE! WROTE', rcnt, 'RESULTS.')
|
print('DONE! WROTE', rcnt, 'RESULTS.')
|
||||||
|
|||||||
Reference in New Issue
Block a user