from flask import Flask, make_response, redirect, request, jsonify, render_template, send_from_directory import os import dotenv import requests import datetime app = Flask(__name__) dotenv.load_dotenv() not_for_sale = ['australia', 'newzealand'] @app.route('/assets/') def send_report(path): return send_from_directory('templates/assets', path) @app.route('/') def index(): year = datetime.datetime.now().year https_redirect="" # Get host from request host = request.headers.get('host') tld = host.split('.')[-1] tld = tld.split(':')[0] if tld == 'localhost' or tld == '1': tld = 'freeconcept' https_redirect = "" if tld in not_for_sale: return render_template('not_for_sale.html', tld=tld, https_redirect=https_redirect, year=year) # Count sales sales = requests.get('https://reg.woodburn.au/api?action=getMyStaked', headers={'Authorization': 'Bearer ' + os.getenv('reg_auth')}) sales = sales.json() if 'data' not in sales: if tld.startswith('xn--'): tld = tld.encode('ascii').decode('idna') return render_template('index.html', tld=tld, https_redirect=https_redirect, sales=0, year=year) tld_sales = 0 sales = sales['data'] for sale in sales: if sale['tld'] == tld: tld_sales = sale['slds'] if tld.startswith('xn--'): tld = tld.encode('ascii').decode('idna') if tld_sales == 0: not_for_sale.append(tld) return render_template('not_for_sale.html', tld=tld, https_redirect=https_redirect, year=year) return render_template('index.html', tld=tld, https_redirect=https_redirect, sales=tld_sales, year=year) # 404 catch all @app.errorhandler(404) def not_found(e): host = request.headers.get('host') tld = host.split('.')[-1] tld = tld.split(':')[0] if tld == 'localhost' or tld == '1': tld = 'example' return render_template('404.html', tld=tld), 404 if __name__ == '__main__': app.run(debug=False, port=5000, host='0.0.0.0')