71 lines
3.0 KiB
Python
71 lines
3.0 KiB
Python
# -*- 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 django.utils.dateformat
|
|
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 -- список четырех последних посещений ценовых предложений всеми пользователями
|
|
"""
|
|
result_list_visit = []
|
|
# id_last_visit = 0 # id четвертого посещения??? Зачем??? Не помню хоть убей!!!
|
|
try:
|
|
q_log_visit = LogVisitPriceReport.objects.all().order_by('-dLogVisitTime')[:4]
|
|
for i in q_log_visit:
|
|
# if id_last_visit == 0:
|
|
# id_last_visit = i.id
|
|
result_list_visit.append({
|
|
"id": i.id,
|
|
"Time": pytils.dt.distance_of_time_in_words(int(django.utils.dateformat.format(i.dLogVisitTime, 'U'))),
|
|
"LogURL": i.sLogURL,
|
|
"LogAddress": i.sLogAddress,
|
|
"LogApart": i.sLogNameApartment
|
|
})
|
|
except LogVisitPriceReport.DoesNotExist:
|
|
pass
|
|
# return id_last_visit+1, list_visit
|
|
return result_list_visit
|