コード例 #1
0
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
コード例 #2
0
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")
コード例 #3
0
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
コード例 #4
0
 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)
コード例 #5
0
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()