каталог -- главная страница

This commit is contained in:
2022-11-13 17:13:46 +03:00
parent 4aff0ab4bb
commit 606ea21fd3
6 changed files with 218 additions and 2 deletions

68
oknardia/web/report1.py Normal file
View File

@@ -0,0 +1,68 @@
# -*- coding: utf-8 -*-
# from django.shortcuts import render, redirect
from django.http import HttpRequest # , HttpResponse
from django.utils.dateformat import format
from oknardia.models import LogVisitPriceReport
# from oknardia.settings import *
# from web.add_func import normalize, get_rating_set_for_stars
# from time import time
import json
import pytils
def get_last_user_visit_cookies(request: HttpRequest) -> list:
""" Служебная функция: проверяет есть ли куки о последних посещениях пользователя, и если есть возвращает их
:param request: HttpRequest -- входящий http-запрос
:return LastVisit: json -- загруженный json-объект из куки LastVisit
"""
if "LastVisit" in request.COOKIES:
try:
return json.loads(request.COOKIES["LastVisit"])
except (json.decoder.JSONDecodeError, TypeError, ValueError, KeyError, AttributeError):
return []
else:
return []
def get_last_user_visit_list(list_visit: list) -> list:
""" Служебная функция: получает список с посещенных страниц с ценовой выдачей (ListVisit), меняет в нем даты
на описание типа "три недели назад" и возвращает обратно.
:param list_visit:
:return:
"""
result_list_visit = []
for i in list_visit:
result_list_visit.append({
"Time": pytils.dt.distance_of_time_in_words(int(i["Time"])),
"LastURL": i["LastURL"],
"LastAddress": i["LastAddress"],
"LastApart": i["LastApart"]
})
return result_list_visit
# def get_last_all_user_visit_list() -> tuple:
def get_last_all_user_visit_list() -> list:
""" Служебная функция: получает список с посещенных страниц с ценовой выдачей для всех пользователей из DB
:return: list -- список четырех последних посещений ценовых предложений всеми пользователями
"""
list_visit = []
id_fourth_visit = 0
try:
q_log_visit = LogVisitPriceReport.objects.all().order_by('-dLogVisitTime')[:4]
for i in q_log_visit:
if id_fourth_visit == 0:
id_fourth_visit = i.id
list_visit.append({
"Time": pytils.dt.distance_of_time_in_words(int(format(i.dLogVisitTime, 'U'))),
"LogURL": i.sLogURL,
"LogAddress": i.sLogAddress,
"LogApart": i.sLogNameApartment
})
except LogVisitPriceReport.DoesNotExist:
pass
# return id_fourth_visit+1, list_visit
return list_visit