def get_most_recent_df(): errors = [] df = pd.DataFrame() try: df = df.append(data.get_arcgis_df()) except Exception: errors.append(traceback.format_exc()) try: df = df.append(data.get_worldometer_df()) except Exception: errors.append(traceback.format_exc()) try: df = df.append(data.get_wikipedia_df()) except Exception: errors.append(traceback.format_exc()) try: df = df.append(data.get_john_hopkins_df()) except Exception: errors.append(traceback.format_exc()) try: df = df.append(data.get_nyt_df()) except Exception: errors.append(traceback.format_exc()) if errors: print(*errors) alert(*errors) df = df.astype({ 'confirmed': int, 'deaths': int, 'recovered': int }) # Make sure they are ints if not os.path.isdir(LOG_DIR): os.mkdir(LOG_DIR) # Keep rows that are most recent (sort by deaths, if tie then confirmed) df = df.sort_values(['codes', 'deaths', 'confirmed'], ascending=False) df.to_csv(os.path.join(LOG_DIR, 'debug1.csv'), index=False) grouped = df.groupby('codes') df = grouped.nth(1) # Pick second value in case first is way off df = df.reset_index() print(df.source.value_counts()) add_cols_to_df(df) df.to_csv(os.path.join(LOG_DIR, 'debug2.csv'), index=False) return df
def display(sec): bloodp = bp(sec) #print("got bp") heartp = pulse(sec) # print("length of pulse ", len(bloodp)) today = date.today() dispsec = 5 ## must give a time interval lower than 10 if sec > 5: print("Your second interval should be less than 5") else: print("************************VITALS*************************") print("****************DATE: ", today, " *********************") #for i in range(0,len(bloodp),dispsec): for i in range(0, 25): now = datetime.now() tf = now.strftime("%H:%M:%S") print(tf, " Blood Pressure ", bloodp[i][0], " / ", bloodp[i][1]) print(tf, " Pulse ", heartp[i]) time.sleep(dispsec) if alert(bloodp[i], heartp[i]) == True: print(tf, " CHECK PATIENT VITALS, ALERT CONDITION FOUND")
def get_last_n(postal_code, column): '''Gets last n confirmed cases or deaths for the last number of days''' todays_date = datetime.now(timezone(REFERENCE_TZ)).date() idx = pd.date_range(todays_date - timedelta(NUM_DAYS), todays_date) sr = get_data_per_day_from_file(postal_code, column, NUM_DAYS) sr = sr.reindex(idx, fill_value=0) if postal_code in ['PR']: sr = get_data_per_day_from_ctp(postal_code, column, NUM_DAYS) sr = sr.reindex(idx, fill_value=0) sr = sr.dropna().astype(int) # If a value is really large, report it since it could be a mistake if sr[-2] > 5: if sr[-1] > (4 * sr[-2]): alert(postal_code, column, sr[-2], sr[-1]) if sr[-3] > 5: if sr[-2] <= 0: alert(postal_code, sr[-2]) return sr
def test_alerts(self): self.assertEqual(alert(self.title, self.message), self.alert) self.assertEqual(success_alert(self.title, self.message), self.success_alert) self.assertEqual(error_alert(self.title, self.message), self.error_alert) self.assertEqual(info_alert(self.title, self.message), self.info_alert)
def captures(names): file1 = open("admin_files/logs.txt", "a+") file2 = open("admin_files/mobile_no.txt", "r") data = file2.read() file2.close() recognizer = cv2.face.LBPHFaceRecognizer_create() recognizer.read('trainer.yml') cascadePath = 'haarcascade_frontalface_default.xml' faceCascade = cv2.CascadeClassifier(cascadePath) font = cv2.FONT_HERSHEY_SIMPLEX id = 0 cam = cv2.VideoCapture(0) #Variable to counter valid and invalid valid = 0 invalid = 0 flag = 0 while (flag == 0): ret, img = cam.read() img = cv2.flip(img, 1) gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale(gray, scaleFactor=1.2, minNeighbors=3, minSize=(10, 10)) for (x, y, w, h) in faces: cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255), 2) id, confidence = recognizer.predict(gray[y:y + h, x:x + w]) text = "" if (confidence < 50): valid += 1 text = names[id] if (valid >= 60): cv2.putText(img, str("Logged to system"), (x + 5, y - 5), font, 1, (255, 255, 255), 2) cv2.putText(img, str("Paused for few minutes.."), (x + 5, y + 5 + 270), font, 1, (255, 255, 255), 2) cv2.imshow('camera', img) if cv2.waitKey(1) & 0xFF == ord('q'): flag = 1 break x = datetime.datetime.now() x = x.strftime("%m/%d/%Y, %H:%M:%S") msg = "\n " + text + " logged at " + x file1.write(msg) valid = 0 invalid = 0 time.sleep(3) else: cv2.putText(img, str("Detected " + text), (x + 5, y - 5), font, 1, (255, 255, 255), 2) cv2.imshow('camera', img) if cv2.waitKey(1) & 0xFF == ord('q'): flag = 1 break else: invalid += 1 if (invalid >= 150): cv2.putText( img, str("Cannot detect the face system will be alerted.."), (x + 5, y - 5), font, 1, (255, 255, 255), 2) cv2.imshow('camera', img) if cv2.waitKey(1) & 0xFF == ord('q'): flag = 1 break alerts.alert(data) invalid = 0 valid = 0 else: cv2.putText(img, str("Detecting.."), (x + 5, y - 5), font, 1, (255, 255, 255), 2) cv2.imshow('camera', img) if cv2.waitKey(1) & 0xFF == ord('q'): flag = 1 break cv2.imshow('camera', img) if cv2.waitKey(1) & 0xFF == ord('q'): break cam.release() cv2.destroyAllWindows() file1.close()