Updates
This commit is contained in:
36
Scripts.py
36
Scripts.py
@@ -1,28 +1,28 @@
|
||||
#!env/bin/python3.10
|
||||
# -*- coding: UTF-8 -*-
|
||||
|
||||
import sys #для работы с аргументами
|
||||
import sys # для работы с аргументами
|
||||
|
||||
#активация FLASK
|
||||
from flask import 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 "" #если переменная не задана в конфиге, то выдаем пустоту
|
||||
|
||||
#=======================================================================
|
||||
#MAIN
|
||||
#=======================================================================
|
||||
return "" # если переменная не задана в конфиге, то выдаем пустоту
|
||||
|
||||
|
||||
# =======================================================================
|
||||
# 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])) # отправляем аргумент в процедуру
|
||||
|
||||
@@ -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)
|
||||
|
||||
144
app/views.py
144
app/views.py
@@ -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
|
||||
|
||||
12
config.py
12
config.py
@@ -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)
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
Flask
|
||||
Flask-Compress
|
||||
Flask-Cors
|
||||
gunicorn
|
||||
|
||||
|
||||
Reference in New Issue
Block a user