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
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)
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
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)
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)
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)