#!/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 """Здесь нет того, чего ты ищешь...
Вернутся на главную """,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= """Похоже, сюда можно только администраторам.
Вернутся на главную """
return render_template('index.htm', UserHeader = APIC.UserHeader(SessionID,"Доступ запрещен",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('/contact')
@app.route('/contacts')
def contacts():
Title="Контакты"
return render_template('contacts.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