Updates
This commit is contained in:
32
Scripts.py
32
Scripts.py
@@ -1,28 +1,28 @@
|
|||||||
#!env/bin/python3.10
|
#!env/bin/python3.10
|
||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
|
|
||||||
import sys #для работы с аргументами
|
import sys # для работы с аргументами
|
||||||
|
|
||||||
#активация FLASK
|
# активация FLASK
|
||||||
from flask import Flask
|
from flask import Flask
|
||||||
app = Flask(__name__, static_url_path='', static_folder='')
|
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):
|
def GetConfig(VarName):
|
||||||
try:
|
try:
|
||||||
return app.config[VarName] #чтение конфига
|
return app.config[VarName] # чтение конфига
|
||||||
except:
|
except:
|
||||||
return "" #если переменная не задана в конфиге, то выдаем пустоту
|
return "" # если переменная не задана в конфиге, то выдаем пустоту
|
||||||
|
|
||||||
#=======================================================================
|
|
||||||
#MAIN
|
# =======================================================================
|
||||||
#=======================================================================
|
# MAIN
|
||||||
|
# =======================================================================
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len (sys.argv) > 1: #если что-то передано кроме имени файла
|
if len(sys.argv) > 1: # если что-то передано кроме имени файла
|
||||||
if (sys.argv[1]=='--getconfig'): #получаем команду
|
if (sys.argv[1] == '--getconfig'): # получаем команду
|
||||||
print (GetConfig(sys.argv[2])) #отправляем аргумент в процедуру
|
print(GetConfig(sys.argv[2])) # отправляем аргумент в процедуру
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!env/bin/python3.10
|
#!env/bin/python3.10
|
||||||
from app import app
|
from app import app
|
||||||
if __name__ == '__main__':
|
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)
|
app.run(debug=True)
|
||||||
|
|||||||
130
app/views.py
130
app/views.py
@@ -1,146 +1,120 @@
|
|||||||
#!env/bin/python3.10
|
#!env/bin/python3.10
|
||||||
# -*- coding: UTF-8 -*-
|
# -*- coding: UTF-8 -*-
|
||||||
|
|
||||||
#Активация FLASK
|
# Активация FLASK
|
||||||
from app import app #чтение из config.py, роуты
|
from app import app # чтение из config.py, роуты
|
||||||
from flask import render_template #использование шаблонов
|
from flask import render_template # использование шаблонов
|
||||||
from flask import request # получение данных Cookie, GET и POST
|
from flask import request # получение данных Cookie, GET и POST
|
||||||
from flask import make_response #формирование заголовока, используется совместо с redirect
|
|
||||||
from flask import redirect # Код страницы и перенаравление
|
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']
|
ProgName = app.config['PROGNAME']
|
||||||
version = app.config['VERSION']
|
version = app.config['VERSION']
|
||||||
|
|
||||||
LevelA=""
|
LevelA = ""
|
||||||
Flag=False
|
Flag = False
|
||||||
FIO=""
|
FIO = ""
|
||||||
UserID=""
|
UserID = ""
|
||||||
tb_Hashpassword=""
|
tb_Hashpassword = ""
|
||||||
OldSession=""
|
OldSession = ""
|
||||||
CurSessionID=""
|
CurSessionID = ""
|
||||||
|
|
||||||
|
|
||||||
S=['0','1','2','3']
|
S = ['0', '1', '2', '3']
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(413)
|
@app.errorhandler(413)
|
||||||
def request_entity_too_large(error):
|
def request_entity_too_large(error):
|
||||||
return 'Превышен максимальный размер файла', 413
|
return 'Превышен максимальный размер файла', 413
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(404)
|
@app.errorhandler(404)
|
||||||
def page_not_found(e):
|
def page_not_found(e):
|
||||||
|
|
||||||
return """Здесь нет того, чего ты ищешь... <br><a href ="/"> Вернутся на главную</a> """,404
|
return """Здесь нет того, чего ты ищешь... <br><a href ="/"> Вернутся на главную</a> """, 404
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(403)
|
@app.errorhandler(403)
|
||||||
def access_denided(e):
|
def access_denided(e):
|
||||||
#Получаем куки и сессию
|
# Получаем куки и сессию
|
||||||
|
|
||||||
SessionID = request.cookies.get('SessionID')
|
SessionID = request.cookies.get('SessionID')
|
||||||
print (SessionID)
|
print(SessionID)
|
||||||
|
|
||||||
if SessionID is None or SessionID=="": #если нет сессии
|
if SessionID is None or SessionID == "": # если нет сессии
|
||||||
return redirect("/login", code=302)
|
return redirect("/login", code=302)
|
||||||
else:
|
else:
|
||||||
HTML= """Похоже, сюда можно только администраторам. <br><a href ="/"> Вернутся на главную</a> """
|
HTML = """Похоже, сюда можно только администраторам. <br><a href ="/"> Вернутся на главную</a> """
|
||||||
return render_template('index.htm', UserHeader = APIC.UserHeader(SessionID,"<font color=red>Доступ запрещен</font>",ProgName), HTML=HTML)
|
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('/')
|
||||||
@app.route('/index')
|
@app.route('/index')
|
||||||
@app.route('/about')
|
@app.route('/about')
|
||||||
@app.route('/main')
|
@app.route('/main')
|
||||||
def main():
|
def main():
|
||||||
|
Title = "Обо мне"
|
||||||
Title="Обо мне"
|
|
||||||
return render_template('about.htm',
|
return render_template('about.htm',
|
||||||
UserHeader = UserHeader(Title,ProgName)
|
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
|
||||||
,version=version
|
|
||||||
,Title=Title
|
|
||||||
,ProgName=ProgName
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
@app.route('/rustdesk')
|
@app.route('/rustdesk')
|
||||||
def rustdesk():
|
def rustdesk():
|
||||||
|
Title = "RustDesk"
|
||||||
Title="RustDesk"
|
|
||||||
return render_template('rustdesk.htm',
|
return render_template('rustdesk.htm',
|
||||||
UserHeader = UserHeader(Title,ProgName)
|
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
|
||||||
,version=version
|
|
||||||
,Title=Title
|
|
||||||
,ProgName=ProgName
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
@app.route('/price')
|
@app.route('/price')
|
||||||
def price():
|
def price():
|
||||||
|
Title = "Прайс"
|
||||||
Title="Прайс"
|
|
||||||
return render_template('price.htm',
|
return render_template('price.htm',
|
||||||
UserHeader = UserHeader(Title,ProgName)
|
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
|
||||||
,version=version
|
|
||||||
,Title=Title
|
|
||||||
,ProgName=ProgName
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
@app.route('/portfolio')
|
@app.route('/portfolio')
|
||||||
def portfolio():
|
def portfolio():
|
||||||
|
|
||||||
Title="Отзывы"
|
Title = "Отзывы"
|
||||||
return render_template('portfolio.htm',
|
return render_template('portfolio.htm',
|
||||||
UserHeader = UserHeader(Title,ProgName)
|
UserHeader=UserHeader(Title, ProgName), version=version, Title=Title, ProgName=ProgName
|
||||||
,version=version
|
|
||||||
,Title=Title
|
|
||||||
,ProgName=ProgName
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def UserHeader(Title,ProgName):
|
###############################################################################
|
||||||
CurStr=""
|
def UserHeader(Title, ProgName):
|
||||||
if (os.path.exists("app/templates/_header")==True):
|
CurStr = ""
|
||||||
|
if (os.path.exists("app/templates/_header") == True):
|
||||||
file = open("app/templates/_header", "r")
|
file = open("app/templates/_header", "r")
|
||||||
#print ("Чтение заголовка")
|
|
||||||
CurStr= file.read()
|
CurStr = file.read()
|
||||||
file.close()
|
file.close()
|
||||||
#print (CurStr)
|
|
||||||
CurStr=CurStr.replace("{{ProgName}}",ProgName)
|
CurStr = CurStr.replace("{{ProgName}}", ProgName)
|
||||||
CurStr=CurStr.replace("{{Title}}",Title)
|
CurStr = CurStr.replace("{{Title}}", Title)
|
||||||
|
|
||||||
return CurStr
|
return CurStr
|
||||||
|
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
@app.route('/favicon.ico')
|
@app.route('/favicon.ico')
|
||||||
def favicon1():
|
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")
|
file = open("app/static/image/favicon.ico", "r")
|
||||||
CurStr= file.read()
|
CurStr = file.read()
|
||||||
file.close()
|
file.close()
|
||||||
return CurStr
|
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_LEVEL = 6
|
||||||
COMPRESS_MIN_SIZE = 500
|
COMPRESS_MIN_SIZE = 500
|
||||||
|
|
||||||
CSRF_ENABLED = True
|
CSRF_ENABLED = True
|
||||||
SECRET_KEY = 'fc46ds6B4ds56gdr46gggrdyjdsith8dt34t43ct4fa05FA6489er679g'
|
SECRET_KEY = 'fc46ds6B4ds56gdr46gggrdyjdsith8dt34t43ct4fa05FA6489er679g'
|
||||||
UPLOAD_FOLDER = 'app/temp' #Куда сохранять загруженные файлы
|
UPLOAD_FOLDER = 'app/temp' # Куда сохранять загруженные файлы
|
||||||
|
|
||||||
VERSION = '0.1.2'
|
VERSION = '0.1.2'
|
||||||
PROGNAME= "ИТ-специалист в Ижевске" #основное имя приложения
|
PROGNAME = "ИТ-специалист в Ижевске" # основное имя приложения
|
||||||
SHMNAME="mainsite" #папка на виртуальном диске
|
SHMNAME = "mainsite" # папка на виртуальном диске
|
||||||
MAX_CONTENT_LENGTH= 1 * 1024 * 1024 #максимальный размер файла
|
MAX_CONTENT_LENGTH = 1 * 1024 * 1024 # максимальный размер файла
|
||||||
|
|
||||||
#def configure_app(app):
|
# def configure_app(app):
|
||||||
# Configure Compressing
|
# Configure Compressing
|
||||||
# Compress(app)
|
# Compress(app)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
Flask
|
Flask
|
||||||
Flask-Compress
|
Flask-Compress
|
||||||
|
Flask-Cors
|
||||||
gunicorn
|
gunicorn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user