def book(bookname): data = Books.search(isbn=bookname) strx = str(data) strx = strx.replace('[', '') strx = strx.replace(']', '') strx = strx.replace('(', '') strx = strx.replace(')', '') strx = strx.replace('"', '') strx = strx.replace("'", "") strx = strx.replace(",", '|') x = strx.split("|") isbn = x[0] name = x[1] author = x[2] language = x[3] publisher = x[4] edition = x[5] branch = x[6] startdate = date.today() EndDate = date.today() + timedelta(days=7) if request.method == "POST": if "user" in session: email = session["user"] print(email) with CursorFromConnectionFromPool() as cursor: cursor.execute("select returndate,issuedbyisbn from public.users where email=%s;", (email,)) returndate = cursor.fetchone() print(returndate) strx = str(returndate) strx = strx.replace('[', '') strx = strx.replace(']', '') strx = strx.replace('(', '') strx = strx.replace(')', '') strx = strx.replace('"', '') strx = strx.replace("'", "") strx = strx.replace(",", '|') strx = strx.replace(" ", "") x = strx.split("|") returndate = x[0] returnisbn = x[1] print(type(returnisbn)) print(type(returndate)) if returndate == '0' and returnisbn == '0': print(returndate) print(returnisbn) if Books.copiesavailable(isbn): with CursorFromConnectionFromPool() as cursor: cursor.execute("UPDATE public.users SET issuedbyisbn=%s WHERE email=%s", (isbn, email)) cursor.execute("update public.users set returndate=%s where email=%s", (EndDate, email)) fromaddr = "*****@*****.**" toaddr = email msg = MIMEMultipart() msg['From'] = fromaddr msg['To'] = toaddr msg["Subject"] = "You issue request for {} is underway".format(name) branch = Branch.searchbranch(branch) body = "You have been issued {} by {} from {} till {}. Please collect this book from branch {} at {}. Please return the book to the same branch it was issued from.".format( name, author, startdate, EndDate, branch[0], branch[1]) msg.attach(MIMEText(body, 'plain')) email = smtplib.SMTP('smtp.gmail.com', 587) email.starttls() email.login(fromaddr, "seprojsubmit") message = msg.as_string() email.sendmail(fromaddr, toaddr, message) Books.issuethis(isbn) flash("Book has been issued, email confirmation has been sent to you") return redirect(url_for("book", bookname=isbn)) else: flash("Issue failed, no copies in stock, please inquire again in 1 week") return redirect(url_for("user", email=session[""])) else: flash("You already have a book issued, please return that book to issue a new one") return redirect(url_for("user", email=session[""])) else: return redirect(url_for("login")) else: return render_template("book.html", bookname=bookname, isbn=isbn, name=name, author=author, language=language, publisher=publisher, edition=edition)