передергивает touch-reload при изменении кеш-шаблона
This commit is contained in:
@@ -3,6 +3,8 @@ __author__ = 'Sergei Erjemin'
|
|||||||
|
|
||||||
from PIL import Image, ImageDraw
|
from PIL import Image, ImageDraw
|
||||||
from oknardia.settings import *
|
from oknardia.settings import *
|
||||||
|
import django.utils.dateformat
|
||||||
|
import django.utils.timezone
|
||||||
import os
|
import os
|
||||||
import math
|
import math
|
||||||
import re
|
import re
|
||||||
@@ -140,6 +142,7 @@ def get_flaps_for_big_pictures(query_set) -> dict:
|
|||||||
else:
|
else:
|
||||||
img_file_name += u"-" # добавляем символ отдельное окно (не рядом с дверью)
|
img_file_name += u"-" # добавляем символ отдельное окно (не рядом с дверью)
|
||||||
# маскируем символы схемы открывания, которые не допустимы в названии файлов
|
# маскируем символы схемы открывания, которые не допустимы в названии файлов
|
||||||
|
# print(img_file_name)
|
||||||
img_file_name += i.sFlapConfig
|
img_file_name += i.sFlapConfig
|
||||||
img_file_name = img_file_name.replace(">", "G")
|
img_file_name = img_file_name.replace(">", "G")
|
||||||
img_file_name = img_file_name.replace("<", "L")
|
img_file_name = img_file_name.replace("<", "L")
|
||||||
@@ -147,11 +150,12 @@ def get_flaps_for_big_pictures(query_set) -> dict:
|
|||||||
img_file_name = img_file_name.replace("]", ")")
|
img_file_name = img_file_name.replace("]", ")")
|
||||||
img_file_name = img_file_name.replace("|", "I")
|
img_file_name = img_file_name.replace("|", "I")
|
||||||
img_file_name = f"{PATH_FOR_BIGIMGFLAPCONFIG}/{img_file_name}.png"
|
img_file_name = f"{PATH_FOR_BIGIMGFLAPCONFIG}/{img_file_name}.png"
|
||||||
|
# print(img_file_name)
|
||||||
# проверяем, есть ли файл с нужной картинкой схемам открывания?
|
# проверяем, есть ли файл с нужной картинкой схемам открывания?
|
||||||
if not os.path.isfile(f"{STATIC_BASE_PATH}/{PATH_FOR_IMG}/{img_file_name}"):
|
if not os.path.isfile(f"{STATIC_BASE_PATH}/{PATH_FOR_IMG}/{img_file_name}"):
|
||||||
# картинки нет, вызываем функцию для ее создания
|
# картинки нет, вызываем функцию для ее создания
|
||||||
make_big_img_win_flap(f"{STATIC_BASE_PATH}/{PATH_FOR_IMG}/{img_file_name}", i.iWinWidth, i.iWinHight,
|
make_big_img_win_flap(f"{STATIC_BASE_PATH}/{PATH_FOR_IMG}/{img_file_name}", i.iWinWidth,
|
||||||
i.bIsDoor, i.sFlapConfig, mount_max_h, mount_bulk, door_h)
|
i.iWinHight, i.bIsDoor, i.sFlapConfig, mount_max_h, mount_bulk, door_h)
|
||||||
# чтобы получить разноцветные маркеры меток количества проемов
|
# чтобы получить разноцветные маркеры меток количества проемов
|
||||||
# получаем последовательность тип: AB, CD, E, FG, H
|
# получаем последовательность тип: AB, CD, E, FG, H
|
||||||
q_local = ""
|
q_local = ""
|
||||||
@@ -176,8 +180,8 @@ def get_flaps_for_big_pictures(query_set) -> dict:
|
|||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def make_big_img_win_flap(img_file_name_with_path: str, width: float, height: float, is_door: bool,
|
def make_big_img_win_flap(img_file_name_with_path: str, width: int, height: int, is_door: bool,
|
||||||
flap_config: str, height_max: float, height_mount_bulk: float, height_door: int) -> None:
|
flap_config: str, height_max: int, height_mount_bulk: int, height_door: int) -> None:
|
||||||
"""
|
"""
|
||||||
Функция создает png-картинку схемы открывания окна или двери
|
Функция создает png-картинку схемы открывания окна или двери
|
||||||
:param img_file_name_with_path: str -- полное имя файла картинки
|
:param img_file_name_with_path: str -- полное имя файла картинки
|
||||||
@@ -190,9 +194,14 @@ def make_big_img_win_flap(img_file_name_with_path: str, width: float, height: fl
|
|||||||
:param height_door: int -- высота дверного проема
|
:param height_door: int -- высота дверного проема
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
# width = int(width)
|
||||||
|
# height = int(height)
|
||||||
|
# height_max = int(height_max)
|
||||||
|
# height_mount_bulk = int(height_mount_bulk)
|
||||||
|
# height_door = int(height_door)
|
||||||
# создаем картинку с нужными размерами
|
# создаем картинку с нужными размерами
|
||||||
img = Image.new("RGBA", (int(width * PICT_H / height_max), PICT_H), (255, 255, 255, 0))
|
img = Image.new("RGBA", (int(width * PICT_H / height_max), PICT_H), (255, 255, 255, 0))
|
||||||
# print(img_file_name_with_path)
|
print(img_file_name_with_path)
|
||||||
# находим крайние точки периметра (если окно -- выравнено вверх; если дверь -- вниз)
|
# находим крайние точки периметра (если окно -- выравнено вверх; если дверь -- вниз)
|
||||||
top = 0
|
top = 0
|
||||||
left = 0
|
left = 0
|
||||||
@@ -575,3 +584,13 @@ def sum_through(string_w_slash: str) -> int:
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
pass
|
pass
|
||||||
return sum_result
|
return sum_result
|
||||||
|
|
||||||
|
|
||||||
|
def touch_reload_wsgi(s: str = ''):
|
||||||
|
""" Функция перезагружает WSGI-сервер.
|
||||||
|
|
||||||
|
:return: None
|
||||||
|
"""
|
||||||
|
with open(TOUCH_RELOAD, 'a', encoding="utf-8") as f:
|
||||||
|
f.write(f'\nreload wsgi by cash-template {s}'
|
||||||
|
f' {django.utils.dateformat.format(django.utils.timezone.now(), "Y-m-d H:i:s")}')
|
||||||
|
|||||||
@@ -7,7 +7,8 @@ from django.utils import timezone
|
|||||||
from oknardia.settings import *
|
from oknardia.settings import *
|
||||||
from oknardia.models import PVCprofiles, Seria_Info, Win_MountDim, Building_Info, MerchantBrand
|
from oknardia.models import PVCprofiles, Seria_Info, Win_MountDim, Building_Info, MerchantBrand
|
||||||
from web.report1 import get_last_all_user_visit_list, get_last_user_visit_cookies, get_last_user_visit_list
|
from web.report1 import get_last_all_user_visit_list, get_last_user_visit_cookies, get_last_user_visit_list
|
||||||
from web.add_func import normalize, get_rating_set_for_stars, get_flaps_for_big_pictures, get_flaps_for_mini_pictures
|
from web.add_func import normalize, get_rating_set_for_stars, get_flaps_for_big_pictures,\
|
||||||
|
get_flaps_for_mini_pictures, touch_reload_wsgi
|
||||||
import django.utils.dateformat
|
import django.utils.dateformat
|
||||||
import time
|
import time
|
||||||
import json
|
import json
|
||||||
@@ -489,6 +490,7 @@ def catalog_seria_info(request: HttpRequest, seria_name_translit: None, seria_id
|
|||||||
light_template_w_path = f"{TEMPLATES[0]['DIRS'][0]}/{light_template}"
|
light_template_w_path = f"{TEMPLATES[0]['DIRS'][0]}/{light_template}"
|
||||||
# print(f"{TEMPLATES[0]['DIRS'][0]}/{light_template}")
|
# print(f"{TEMPLATES[0]['DIRS'][0]}/{light_template}")
|
||||||
# print(light_template_w_path)
|
# print(light_template_w_path)
|
||||||
|
print(light_template_w_path)
|
||||||
if os.path.isfile(light_template_w_path):
|
if os.path.isfile(light_template_w_path):
|
||||||
is_hard_template = False
|
is_hard_template = False
|
||||||
else:
|
else:
|
||||||
@@ -614,6 +616,7 @@ def catalog_seria_info(request: HttpRequest, seria_name_translit: None, seria_id
|
|||||||
# file.write(AA.encode('utf-8'))
|
# file.write(AA.encode('utf-8'))
|
||||||
file.write(string_prerender)
|
file.write(string_prerender)
|
||||||
file.close()
|
file.close()
|
||||||
|
touch_reload_wsgi(light_template_w_path)
|
||||||
else:
|
else:
|
||||||
seria_name = Seria_Info.objects.get(id=seria_id).sName
|
seria_name = Seria_Info.objects.get(id=seria_id).sName
|
||||||
to_template.update({'THIS_SERIA_NAME': seria_name})
|
to_template.update({'THIS_SERIA_NAME': seria_name})
|
||||||
|
|||||||
Reference in New Issue
Block a user