This commit is contained in:
2023-08-18 00:12:02 +04:00
parent 6e17ca2167
commit e358a96e76
5 changed files with 85 additions and 110 deletions

View File

@@ -1,28 +1,28 @@
#!env/bin/python3.10
# -*- coding: UTF-8 -*-
import sys #для работы с аргументами
import sys # для работы с аргументами
#активация FLASK
# активация FLASK
from flask import Flask
app = Flask(__name__, static_url_path='', static_folder='')
app.config.from_object('config') #активируем файл конфигурации
app.config.from_object('config') # активируем файл конфигурации
#=======================================================================
#Процедура чтения переменных из файла config.py
#=======================================================================
# =======================================================================
# Процедура чтения переменных из файла config.py
# =======================================================================
def GetConfig(VarName):
try:
return app.config[VarName] #чтение конфига
return app.config[VarName] # чтение конфига
except:
return "" #если переменная не задана в конфиге, то выдаем пустоту
return "" # если переменная не задана в конфиге, то выдаем пустоту
#=======================================================================
#MAIN
#=======================================================================
# =======================================================================
# MAIN
# =======================================================================
if __name__ == "__main__":
if len (sys.argv) > 1: #если что-то передано кроме имени файла
if (sys.argv[1]=='--getconfig'): #получаем команду
print (GetConfig(sys.argv[2])) #отправляем аргумент в процедуру
if len(sys.argv) > 1: # если что-то передано кроме имени файла
if (sys.argv[1] == '--getconfig'): # получаем команду
print(GetConfig(sys.argv[2])) # отправляем аргумент в процедуру

View File

@@ -1,5 +1,5 @@
#!env/bin/python3.10
from app import app
if __name__ == '__main__':
#app.run(debug=True,ssl_context=('LinuxServer.crt','rootCA.key',3))
# app.run(debug=True,ssl_context=('LinuxServer.crt','rootCA.key',3))
app.run(debug=True)

View File

@@ -1,146 +1,120 @@
#!env/bin/python3.10
# -*- 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 # Код страницы и перенаравление
# Активация FLASK
from app import app # чтение из config.py, роуты
from flask import render_template # использование шаблонов
from flask import request # получение данных Cookie, GET и POST
from flask import redirect # Код страницы и перенаравление
from flask import Response
import os # чтение куки и работа с файлами и папками
#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 = app.config['VERSION']
LevelA=""
Flag=False
FIO=""
UserID=""
tb_Hashpassword=""
OldSession=""
CurSessionID=""
LevelA = ""
Flag = False
FIO = ""
UserID = ""
tb_Hashpassword = ""
OldSession = ""
CurSessionID = ""
S=['0','1','2','3']
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
return """Здесь нет того, чего ты ищешь... <br><a href ="/"> Вернутся на главную</a> """, 404
@app.errorhandler(403)
def access_denided(e):
#Получаем куки и сессию
# Получаем куки и сессию
SessionID = request.cookies.get('SessionID')
print (SessionID)
print(SessionID)
if SessionID is None or SessionID=="": #если нет сессии
return redirect("/login", code=302)
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)
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
# return render_template('404.html'), 404
#Добавляем роуты
###############################################################################
# Добавляем роуты
@app.route('/')
@app.route('/index')
@app.route('/about')
@app.route('/main')
def main():
Title="Обо мне"
Title = "Обо мне"
return render_template('about.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
)
###############################################################################
@app.route('/rustdesk')
def rustdesk():
Title="RustDesk"
Title = "RustDesk"
return render_template('rustdesk.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
)
###############################################################################
@app.route('/price')
def price():
Title="Прайс"
Title = "Прайс"
return render_template('price.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
)
###############################################################################
@app.route('/portfolio')
def portfolio():
Title="Отзывы"
Title = "Отзывы"
return render_template('portfolio.htm',
UserHeader = UserHeader(Title,ProgName)
,version=version
,Title=Title
,ProgName=ProgName
)
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
)
def UserHeader(Title,ProgName):
CurStr=""
if (os.path.exists("app/templates/_header")==True):
###############################################################################
def UserHeader(Title, ProgName):
CurStr = ""
if (os.path.exists("app/templates/_header") == True):
file = open("app/templates/_header", "r")
#print ("Чтение заголовка")
CurStr= file.read()
CurStr = file.read()
file.close()
#print (CurStr)
CurStr=CurStr.replace("{{ProgName}}",ProgName)
CurStr=CurStr.replace("{{Title}}",Title)
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):
if (os.path.exists("app/static/image/favicon.ico") == True):
file = open("app/static/image/favicon.ico", "r")
CurStr= file.read()
CurStr = file.read()
file.close()
return CurStr

View File

@@ -1,16 +1,16 @@
COMPRESS_MIMETYPES = ['text/html', 'text/css', 'text/xml', 'application/json', 'application/javascript','application/x-www-form-urlencoded']
COMPRESS_MIMETYPES = ['text/html', 'text/css', 'text/xml', 'application/json', 'application/javascript', 'application/x-www-form-urlencoded']
COMPRESS_LEVEL = 6
COMPRESS_MIN_SIZE = 500
CSRF_ENABLED = True
SECRET_KEY = 'fc46ds6B4ds56gdr46gggrdyjdsith8dt34t43ct4fa05FA6489er679g'
UPLOAD_FOLDER = 'app/temp' #Куда сохранять загруженные файлы
UPLOAD_FOLDER = 'app/temp' # Куда сохранять загруженные файлы
VERSION = '0.1.2'
PROGNAME= "ИТ-специалист в Ижевске" #основное имя приложения
SHMNAME="mainsite" #папка на виртуальном диске
MAX_CONTENT_LENGTH= 1 * 1024 * 1024 #максимальный размер файла
PROGNAME = "ИТ-специалист в Ижевске" # основное имя приложения
SHMNAME = "mainsite" # папка на виртуальном диске
MAX_CONTENT_LENGTH = 1 * 1024 * 1024 # максимальный размер файла
#def configure_app(app):
# def configure_app(app):
# Configure Compressing
# Compress(app)

View File

@@ -1,4 +1,5 @@
Flask
Flask-Compress
Flask-Cors
gunicorn