py.lib
2023-01-30
Parent:d9a3784f681b
py.lib/webapp/bottle_urils.py
. Убираем лишние форматированные строки * Проблема с созданием вложенных журналов в сложных ситуациях с локами и ротируемым журналом.
1 # coding: utf-8
2 """\
3 Набор инструментов, для более удобного взаимодействия с фреймворком ``bottle``
4 """
14 VARIABLE_PREFIX = 'ru.a0fs.app' # Префикс переменных и иных структур, которые сохраняются во внутренних
15 # структурах ``bottle``
18 # выставленного реверс-прокси.
24 Класс хранящий ``cookie`` и способный их устанавливать в объекты http-ответов ``bottle``
25 """
32 :param name: Имя ``cookie``
33 :param value: Значение ``cookie``
34 :param max_age: Время жизни ``cookie`` в секундах.
35 :param expires: Значение времени, когда cookie будет удалена, задаётся в виде ``unix timestamp (int)`` или
36 ``datetime``
37 :param path: Префикс пути поиска ресурса на данном сайте, для которого следует отправлять данное ``cookie``
38 :param secure: Отправлять ``cookie`` только по шифрованным каналам связи
39 :param httponly: Сделать ``cookie`` не доступной для ``JavaScript``
40 :param samesite: Не отправлять данную cookie, если запрос пришёл не с того же сайта (анализируется заголовок
41 referer)
42 :param domain: Имя домена в рамках которого выставляется cookie. В современных браузерах может и глючить
43 """
57 Подготавливает параметры, которые можно передать в процедуру ``set_cookie``
58 объекта ``Response``
59 """
65 }
78 Подготавливает параметры, которые можно передать в процедуру ``delete_cookie``
79 объекта ``Response``
80 """
96 Получение реального адреса клиента
97 """
109 Конструируем некий отпечаток пользовательской сессии.
111 В качестве параметра принимается всё, что должно участвовать в создании отпечатка.
112 Это всё превращается в строки и подмешивается в хэш
113 """
123 Более интеллектуальная процедура преобразования базовых типов
125 :param value: Значение, которое необходимо преобразовать
126 :param new_value_type: Тип в который необходимо преобразовать значение
127 :param postprocess: Применять ли последующую обработку полученного результата
128 :returns: Значение ``value`` преобразованное к типу ``value_type``
129 """
153 Возвращает значения из хранилища контекста запроса bottle
154 """
166 Устанавливает значения в хранилище контекста запроса bottle
167 """
177 Формирует ``API`` ответ.
178 """
203 Если в запросе, который мы обрабатываем в текущий момент, использовалась посылка данных JSON, получить их.
204 """
215 Получить значение ``cookie`` с заданным именем из текущего запроса.
216 """
224 Получить из обрабатываемого на данный момент запроса значения установленного параметра. Обрабатываются как
225 ``GET``, так и ``POST`` параметры, если иное не указано конкретно.
227 :param name: Имя параметра
228 :param param_type: Тип, в который нужно преобразовать полученный параметр
229 :param default: Значение, отдаваемое, если параметр не установлен в запросе
230 :param postprocess: Производить ли постобработку параметра
231 :param param_source: Источник параметра, [``get``, ``post``]
232 :returns Полученное из запроса значение
233 """
268 Создать новый словарь на основе существующего, добавив в него только нужные ключи
269 """
276 Преобразует значение ``val`` в пригодное для преобразования в json значение.
277 """
299 Создаём строку, идентифицирующую данный запрос для журналирования операций.
301 :param user: Если известен пользователь, задаём его здесь
302 """
327 Создание сообщения об ошибке для JSON REST API сервисов
329 :param code: HTTP-код ответа
330 :param err: Либо объект исключения, либо название ошибки
331 :param msg: Если не ``None`` - сообщение об ошибке. В противном случае, если ``err`` является исключением,
332 сообщение берётся из ``str(err)`` если нет, становится пустой строкой.
333 :param remove_cookies: Список cookie, которые должны быть удалены с клиента.
334 :param cookies: Набор cookies вставляемый в конструктор ответа без изменений. Читать в соответствующем
335 параметре ``make_response``
336 """