예제 #1
0
def calculateTime(sleepStart, deadline):
    username = current_user.username
    database.load_from_file()
    for person in database.people:
        if person.username == username:
            phaze = person.phaze
            person.sleptFlag = 1
            break
    hourStart = int(sleepStart.hour)
    hourStop = int(deadline.hour)
    minStart = int(sleepStart.minute)
    minStop = int(deadline.minute)
    stop = 60 * hourStop + minStop
    start = 60 * hourStart + minStart
    if stop < start:
        stop += 1440
    hours = (start + ((stop - start) // phaze) * phaze) // 60
    minutes = (start + ((stop - start) // phaze) * phaze) % 60
    hours %= 24
    sug_wake_up = f'{hours:02}:{minutes:02}'
    for person in database.people:
        if person.username == username:
            person.sleptFlag = 1
            beg_of_sleep = f'{hourStart:02}:{minStart:02}'
            date = datetime.now().strftime('%d-%m-%Y')
            new_data = Day_data(beg_of_sleep, sug_wake_up, date, False)
            person.add_day_data(new_data)
            break
    database.save_to_file(database.people)
    return sug_wake_up
예제 #2
0
def home():
    if current_user.is_authenticated:
        username = current_user.username
        database.load_from_file()
        for user in database.people:
            if user.username == username:
                if user.sleptFlag == 1:
                    return redirect(url_for('how_was_your_sleep'))
                else:
                    break
    return render_template('home.html', posts=posts)
예제 #3
0
def calculatePhaze(sleepStart, sleepend):
    username = current_user.username
    database.load_from_file()
    for person in database.people:
        if person.username == username:
            THEuser = person
    hourStart = int(sleepStart.hour)
    hourStop = int(sleepend.hour)
    minStart = int(sleepStart.minute)
    minStop = int(sleepend.minute)
    stop = 60 * hourStop + minStop
    start = 60 * hourStart + minStart
    if stop < start:
        stop += 1440
    phaze = (stop - start) // 5
    THEuser.phaze = phaze
    database.save_to_file(database.people)
    return phaze
예제 #4
0
def going_to_sleep():
    if not current_user.is_authenticated:
        return redirect(url_for('home'))
    if current_user.is_authenticated:
        username = current_user.username
        database.load_from_file()
        for user in database.people:
            if user.username == username:
                if user.sleptFlag == 1:
                    return redirect(url_for('how_was_your_sleep'))
                else:
                    break
    form = goingToSleepForm()
    if form.validate_on_submit():
        calculated = calculateTime(form.sleepStart.data, form.sleepEnd.data)
        flash(f"Your optimal wake up time is {calculated}", 'success')
    return render_template('going_to_sleep.html',
                           title='Going to sleep',
                           form=form)
예제 #5
0
def how_was_your_sleep():
    if not current_user.is_authenticated:
        return redirect(url_for('home'))
    form = howWasUrSleepForm()
    if form.validate_on_submit():
        cur_username = current_user.username
        database.load_from_file()
        for person in database.people:
            if person.username == cur_username:
                person.sleptFlag = 0
                for data in person.data:
                    if data.confirmed == False:
                        data.confirmed = True
                        break
                break
        database.save_to_file(database.people)
    return render_template('how_was_your_sleep.html',
                           title='How was your sleep?',
                           form=form)
예제 #6
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        person = Person(form.username.data)
        database.load_from_file()
        database.people.append(person)
        database.save_to_file(database.people)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created! You are now able to log in',
              'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)