Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Описание скрипта

Данный скрипт позволяет выгрузить данные определенного портала из базы данных. Осуществляется выгрузка настроек
вкладок Общие настройки, Языковые настройки, Работа по расписанию и Внешний вид.

Алгоритм работы скрипта

  1. Нахождение запрашиваемого портала в базе
  2. Получение данных для портала со всех необходимых таблиц
  3. Сохранение выгрузок таблиц в csv файлы в директорию tables
  4. Сохранение портальных ресурсов в файлы в директорию portal_resources

Подготовка к запуску

  • Для запуска скрипта должен быть установлен python3.9
  • Для запуска скрипта необходимо установить зависимости. Это можно сделать при помощи команды:

sudo pip3 install -r requirements.txt

Конфигурационный файл application.conf

  1. logging
    • level уровень логирования (возможные варианты: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL")
    • filename название файла, в который будут записываться логи
  2. mysql
    • host хост, на котором установлен mysql
    • port порт mysql
    • username имя пользователя
    • password пароль пользователя
    • charset кодировка базы данных ELTEX_PORTAL

Запуск скрипта

Вариант 1:

Выведет список всех порталов. Позволит выбрать из этого списка нужный портал.
Способ не подходит для запуска на базе с большим количеством порталов. В этом случае
рекомендуется воспользоваться 2 вариантом запуска скрипта.

python3.9 upload_settings.py

Вариант 2:

Вариант с указанием конкретного имени портала первым аргументом.

python3.9 upload_settings.py 'portal_name'

Соответствие данных со вкладок с данными из выгрузки

Вкладка "Общие настройки"

Название вкладкиНастройкаТаблица БДКолонка в БДНазвание в БДПримечание
Общие->Основные





Рабочее расписаниеpropertiesnameschedule.main

Основной языкpropertiesnamelocale.default

Длина генерируемого пароляpropertiesnamewifi.password.length

Время свободного повторного входаpropertiesnameopen.timeout

Время хранения MAC-адреса пользователяpropertiesnamemac.store.period

Добавлять идентификатор сессии в URL перенаправленияpropertiesnameredirect.param.session.id

Разрешить смену тарифаpropertiesnametariff.rewrite.allowed

MAC-авторизация через АТС Смольногоpropertiesnameauth.method.sats

Отображать пользовательское соглашениеpropertiesnameuser.agreement.position

Включить автопереход на странице "Поздравление"propertiesnamesuccess.autoclick.enabled

Таймаут автоперехода на странице "Поздравление", с.propertiesnamesuccess.autoclick.timeout

Включить автопереход на странице после закрытия баннера на странице "Поздравление"propertiesnameautoclick.after.promo.close.enabled
Общие->Рекламная рассылка





Спрашивать согласие пользователей на рассылкуpropertiesnameadvertising.allowed

Обязательное полеpropertiesnameadvertising.required
Общие->Дополнительные параметры при регистрации





Запрашивать дополнительные параметры при регистрацииpropertiesnameauth.params.additional

Имяpropertiesnameauth.params.name

Имя->Обязательное полеpropertiesnameauth.params.name.required

Фамилияpropertiesnameauth.params.family

Фамилия->Обязательное полеpropertiesnameauth.params.family.required

Адрес электронной почтыpropertiesnameauth.params.email

Адрес электронной почты->Обязательное полеpropertiesnameauth.params.email.required
Общие->Подтверждение возраста





Включить подтверждение возрастаpropertiesnameage.confirm.enabled

Обязательное полеpropertiesnameage.confirm.required

Возрастpropertiesnameage.confirm.value
Режим работы->Основные





ЕСИАpropertiesname


Регистрацияpropertiesnameregistration.enabled

Авторизацияpropertiesnamelogin.enabled

Авторизация через УШpropertiesnamepms.login.enabled
Режим работы->Подтверждение личности





Режим демонстрацииpropertiesnameauth.method.demo

SMS пользователюpropertiesnamenotification.sms.outbound

SMS от пользователяpropertiesnamenotification.sms.inbound

Звонок пользователюpropertiesnamenotification.call.outbound

Звонок от пользователpropertiesnamenotification.call.inbound

Вход через Fan IDpropertiesnameauth.method.fanid

Вход по Mobile IDpropertiesnameauth.method.mobileId


Вкладка "Языковые настройки" 

Название вкладкиНастройкаТаблица БДКолонка в БДНазвание в БДПримечание
Языковые настройки
propertiesnameenabled.set

URL для перенаправленияportal_resourceslink_nameredirect-url-main

URL перехода по баннеру на финальной страницеportal_resourceslink_nameredirect-url-banner-bottom

URL перехода по промо баннеру на финальной страницеportal_resourceslink_nameredirect-url-banner-promo

Заголовок страницыmessagesnamesite.title

Подпись снизуmessagesnamesite.descr

Шаблон SMS-сообщенияmessagesnamesms.msg.template

URL перенаправления перед предоставлением услугиmessagesnameredirect-url-internal


Вкладка "Работа по расписанию"

Название вкладкиТаблица БДКолонка в БДНазвание в БДПримечание
Работа по расписаниюschedulesnameНазвание расписания

Вкладка "Внешний вид"

Название вкладкиНастройкаТаблица БДКолонка в БДНазвание в БДПримечание
Внешний вид





Языкpropertiesnameenabled.set

Тема




Дополнительные CSSportal_resourceslink_namestylecustom-css

Дополнительный JavaScriptportal_resourceslink_namestylecustom-js
Общее





Цвет фона страницыportal_resourceslink_namestylebackgroundColor

Цвет фона шапкиportal_resourceslink_namestyleheaderBackground

Таймаут начального промо банераpropertiesnamepromo.start.timeout

Таймаут финального промо банераpropertiesnamepromo.final.timeout
Общее->Для расписания(название расписания)schedulesnameНазвание расписания

Значок (favicon)resource_linksnamefaviconСам ресурс в таблице resources

Фоновое изображение страницыresource_linksnamebackgroundСам ресурс в таблице resources

Фоновое изображение шапкиresource_linksnamelogoСам ресурс в таблице resources
Общее->Для расписания->Баннеры





Верхнийresource_linksnametop-imageСам ресурс в таблице resources

Левыйresource_linksnameleft-imageСам ресурс в таблице resources

Правыйresource_linksnameright-imageСам ресурс в таблице resources

Нижнийresource_linksnamebottom-imageСам ресурс в таблице resources
Общее->Для расписания->Промо Баннеры





Начальныйresource_linksnamepromo-start-imageСам ресурс в таблице resources

Финальныйresource_linksnamepromo-final-imageСам ресурс в таблице resources
Текст





Заголовок формы регистрацииportal_resourceslink_namestyle

Заголовок формы авторизацииportal_resourceslink_namestyle

Заголовок формы авторизации через УШportal_resourceslink_namestyle

Фонportal_resourceslink_namestylecontentBackground

Обычныйportal_resourceslink_namestyletextColor/textFontFamily

Заголовкиportal_resourceslink_namestyletitleColor/titleFontFamily

Ссылкиportal_resourceslink_namestylelinkColor

Шапкаportal_resourceslink_namestyleheaderTextColor

Согласие на получение рекламыmessagesnamesite.index.advertising.approval
Поля ввода





Текстportal_resourceslink_namestyleplaceholder.phone.enabled

Фонportal_resourceslink_namestyleinputBackground

Рамкаportal_resourceslink_namestyleinputBorderWidth/inputBorderColor

Закруглениеportal_resourceslink_namestyleinputBorderRadius

Надпись у поля “Имя пользователя”messagesnameportal.index.name_field.label

Надпись у поля “Пароль”messagesnameportal.index.password_field.label

Надпись у поля “Фамилия”messagesnameportal.index.pms_name_field.label

Надпись у поля “Номер комнаты”messagesnameportal.index.pms_password_field.label

Отображать пример заполнения номера телефонаmessagesnameplaceholder.phone.enabled
Кнопки





Рамкаportal_resourceslink_namestylebuttonBorderColor/buttonBorderWidth

Закруглениеportal_resourceslink_namestylebuttonBorderRadius

Текст кнопки “По учетной записи”messagesnameportal.index.auth_button.label

Текст кнопки “По учетной записи гостя”messagesnameportal.index.pms_auth_button.label

Текст кнопки “По номеру телефона”messagesnameportal.index.pms_name_field.label
Кнопки->Основная





Текстportal_resourceslink_namestylebuttonPrimaryTextColor

Фонportal_resourceslink_namestylebuttonPrimaryBackground

Градиентportal_resourceslink_namestylebuttonPrimaryGradient/buttonPrimaryGradientColor
Кнопки->Дополнительные





Текстportal_resourceslink_namestylebuttonSecondaryTextColor

Фонportal_resourceslink_namestylebuttonSecondaryBackground

Градиентportal_resourceslink_namestylebuttonSecondaryGradient/buttonSecondaryGradientColor

Примечание

Соответствие портальных ресурсов (изображений) и мест их использований, можно найти через таблицы resource_links и
resources. В таблице resource_links указано место использования и resource_id. По resource_id можно найти
название ресурса в таблице resources. Сами ресурсы будут сохранены в директорию portal_resources.

Если настройка не была найдена в БД, она будет добавлена в результирующие таблицы со значением по-умолчанию
(так, как это работает на стороне Конструктора Порталов).

В случае, если таблица не предполагает наличие значений по-умолчанию и не имеет данных, csv файл для данной таблицы
создан не будет. Данная ситуация возможна, например, для таблицы schedules.

Пример работы скрипта:

$ python3.9 upload_settings.py
Список всех порталов: 
1 : default
2 : Test Portal
5 : test3
6 : test4
7 : test5
Введите id портала, настройки которого необходимо выгрузить, и нажмите клавишу 'Enter'
Для выхода выберите 0
2
Выгрузка настроек портала 'Test Portal' ...
Данные таблицы 'properties' для выбранного портала выгружены в файл: properties_2022-10-17_19-32-56.csv
Данные таблицы 'messages' для выбранного портала выгружены в файл: messages_2022-10-17_19-32-56.csv
Данные таблицы 'schedules' для выбранного портала выгружены в файл: schedules_2022-10-17_19-32-56.csv
Данные таблицы 'resource_links' для выбранного портала выгружены в файл: resource_links_2022-10-17_19-32-56.csv
Время выполнения скрипта: 3.82 с.


Скрипт скачать по ссылке upload_settings_Captive_Portal.zip

  • Нет меток