blob: aebf98ce372c142e3249ceccbcfc033feb398f08 (
plain) (
tree)
|
|
from flask import Flask, jsonify, render_template, request, send_from_directory
import os
from helpers import aux
from discord_webhook import DiscordWebhook
import datetime
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
import logging
# Logs to both console and app.log file
logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(name)s %(threadName)s : %(message)s")
formatter = logging.Formatter("%(asctime)s %(levelname)s %(name)s %(threadName)s : %(message)s")
logger = logging.getLogger('server')
handler = logging.FileHandler('app.log')
handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
logger.addHandler(handler)
def niceDateTime():
time = datetime.datetime.now()
return time.strftime("%H:%M:%S -- %d/%m/%Y")
def niceTime():
time = datetime.datetime.now()
return time.strftime("%H:%M:%S")
def spamDiscord(logs = ""):
content = f"@everyone, napaka na strani ob {niceDateTime()}: \n {logs}"
webhook = DiscordWebhook(url='https://discord.com/api/webhooks/1062432166950219838/tgl04gFFIMkrASeWX2AlETdsgdTHU3CWufzE1NZQMLQ2eZGVeQyGXj4AAt0k4Dj467B'+'d', content=content)
webhook.execute()
def discordLog(msg):
DiscordWebhook(url="https://discord.com/api/webhooks/1062474351196262571/V6M_vfhPy9QEEbM-b1W7qxBr2k5olpyeOY1O2RoKZ178c0Fs9_vYzKqJwES3o3suLSF"+"o", content=msg).execute()
app = Flask(__name__, static_folder="static")
limiter = Limiter(
get_remote_address,
app=app,
default_limits=["50 per minute"],
storage_uri="memory://",
)
def setHeaders(request):
headers = request.form["headers"]
with open("headers.txt", "w") as f:
f.write(headers)
discordLog(f"Headers so bili spremenjeni ob {niceDateTime()}")
return "OK"
@app.route('/favicon.ico')
@app.route('/robots.txt')
@app.route('/sitemap.xml')
def static_from_root():
return send_from_directory(app.static_folder, request.path[1:])
@app.route('/', methods=['POST'])
def apcall():
if "headers" in request.form:
setHeaders(request)
return "OK"
registrska = request.form["registrska"]
try:
ar = aux(registrska)
app.logger.info(f"Registrska \"{registrska}\" je veljavna do {ar} ob {niceTime()}")
# discordLog(f"Registrska \"{registrska}\" je veljavna do {ar} ob {niceTime()}")
return render_template('index.html', valid_until = ar, license_plate = registrska)
except Exception as e:
spamDiscord(str(e))
app.logger.error(f"\nNapaka pri {registrska} ob {niceTime()}")
# discordLog(f"!!!!!!!!!!!!!!!!!!!!!!!!!!!\nNapaka pri {registrska} ob {niceTime()}")
return render_template('failure.html')
@app.route('/', methods=['GET'])
def index():
app.logger.info("Zahteva za domačo stran")
# discordLog(f"Zahteva za domačo stran ob {niceTime()}")
return render_template('index.html')
if __name__ == '__main__':
app.run()
|