Мой конкретный фрагмент кода внутри else:
блока запускается даже if(condition)
равен False
фрагмент кода, который запускает даже условие, является ложным, это страница проверки подлинности Google для моего API календаря. Например, если endDate status, eventID = cal.insert(car, location, user, startDate, endDate) по-прежнему работает, даже если даты недействительны, в конце концов результат не выполняется, и вставка базы данных не выполняется, что хорошо, но я не хочу выполнять вход в Google, даже если даты недействительны.
Но страница Google Auth должна была запускаться после проверки условия if, мне кажется, что она работает до или с оператором if, я запутался.
#Check if input date is valid
if(endDate < startDate):
print("Error, minimum booking is 1 day")
flash("Error, minimum booking is 1 day")
return redirect(url_for("book"), code = 307)
else:
cal = Calendar()
with DatabaseUtils() as db:
#Check car availability
if(db.checkCarAvail(carid)):
person = db.getPerson(session.get('username'))
carinfo = db.getCar(carid)
user = "{} {}".format(person[3], person[4])
car = "{} {}, {} Seats".format(carinfo[1], carinfo[2], carinfo[4])
location = carinfo[6]
status, eventID = cal.insert(car, location, user, startDate, endDate) #Calendar auth happens here
#Check if booking is confirmed for Google Calendar
if(status == "confirmed"):
#Check if booking record is inserted
if(db.insertBooking(userid, carid, int(cost), startDate, endDate, eventID)):
#If it is inserted, update car availability
if(db.updateCarAvail(carid, avail)):
print("Car ID: {} is booked from {} till {}".format(carid, startDate, endDate))
flash("Car ID: {} is booked from {} till {}".format(carid, startDate, endDate))
return redirect(url_for("home"))
else:
print("Error, booking failed, try again later.")
flash("Error, booking failed, try again later.")
return redirect(url_for("home"))
else:
print("Error, Google Calendar request is canceled, try again later.")
flash("Error, Google Calendar request is canceled, try again later.")
return redirect(url_for("book"), code = 307)
else:
print("Error, Car ID: {} is not available, try a different car later".format(carid))
flash("Error, Car ID: {} is not available, try a different car later".format(carid))
return redirect(url_for("home"))