Files
MainSite/app/views.py
2022-08-28 23:53:56 +04:00

147 lines
3.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
#Активация FLASK
from app import app #чтение из config.py, роуты
from flask import render_template #использование шаблонов
from flask import request # получение данных Cookie, GET и POST
from flask import make_response #формирование заголовока, используется совместо с redirect
from flask import redirect # Код страницы и перенаравление
from flask import Response
#from flask-login import login_user, logout_user, current_user, login_required #авторизация
#from .forms import LoginForm
#import urllib.parse
#import importlib.util
import http.cookies #работа с кукисами
import datetime #работа с датой
import os #чтение куки и работа с файлами и папками
import html #для функции Escape
#для мультипроцессинга
import sys
import subprocess
import threading #потоки
#Сжатие данных для API
import gzip
#Глобальные переменные
ProgName = app.config['PROGNAME']
version = "0.0.1"
LevelA=""
Flag=False
FIO=""
UserID=""
tb_Hashpassword=""
OldSession=""
CurSessionID=""
S=['0','1','2','3']
@app.errorhandler(413)
def request_entity_too_large(error):
return 'Превышен максимальный размер файла', 413
@app.errorhandler(404)
def page_not_found(e):
return """Здесь нет того, чего ты ищешь... <br><a href ="/"> Вернутся на главную</a> """,404
@app.errorhandler(403)
def access_denided(e):
#Получаем куки и сессию
SessionID = request.cookies.get('SessionID')
print (SessionID)
if SessionID is None or SessionID=="": #если нет сессии
return redirect("/login", code=302)
else:
HTML= """Похоже, сюда можно только администраторам. <br><a href ="/"> Вернутся на главную</a> """
return render_template('index.htm', UserHeader = APIC.UserHeader(SessionID,"<font color=red>Доступ запрещен</font>",ProgName), HTML=HTML)
#return render_template('404.html'), 404
#Добавляем роуты
@app.route('/')
@app.route('/index')
@app.route('/about')
@app.route('/main')
def main():
Title="Обо мне"
return render_template('about.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
@app.route('/rustdesk')
def rustdesk():
Title="RustDesk"
return render_template('rustdesk.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
@app.route('/price')
def price():
Title="Прайс"
return render_template('price.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
@app.route('/portfolio')
def portfolio():
Title="Отзывы"
return render_template('portfolio.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
def UserHeader(Title,ProgName):
CurStr=""
if (os.path.exists("app/templates/_header")==True):
file = open("app/templates/_header", "r")
#print ("Чтение заголовка")
CurStr= file.read()
file.close()
#print (CurStr)
CurStr=CurStr.replace("{{ProgName}}",ProgName)
CurStr=CurStr.replace("{{Title}}",Title)
return CurStr
@app.route('/favicon.ico')
def favicon1():
if (os.path.exists("app/static/image/favicon.ico")==True):
file = open("app/static/image/favicon.ico", "r")
CurStr= file.read()
file.close()
return CurStr