import subprocess
from datetime import date
from flask import Blueprint, current_app, render_template, request
from flask_weasyprint import HTML, render_pdf
from .forms import MembershipForm
root_page = Blueprint("root", __name__)
@root_page.route("/", methods=("GET", "POST"))
def index():
form = MembershipForm()
if form.validate_on_submit():
if form.minor_member.data and form.membership.data != "starving":
membership = "student"
else:
membership = form.membership.data
if membership in ["student", "supporting"]:
price = 40
elif membership == "starving":
price = 1
else:
price = 120
if form.payment.data == "bitcoin":
price = subprocess.check_output(
["/usr/local/share/btc/BTC_Membership.pl", str(price)]
).decode("utf-8")
elif form.payment.data == "ethereum":
price = subprocess.check_output(
["/usr/local/share/eth/ETH_Membership.pl", str(price)]
).decode("utf-8")
elif form.payment.data == "digicash":
price = price * 100
year = date.today().year
html = render_template(
"member.html", form=form, membership=membership, price=price, year=year
)
return render_pdf(HTML(string=html))
return render_template("index.html", form=form)