| мебель прихожие | выбрать ручной строительный инструмент на сайте |
wiki:ФайлКонфигурацииLinkExchange

Файл конфигурации LinkExchange

Конфигурационный файл LinkExchange (linkexchange.cfg) служит для определения площадки и клиентов в ней, объектов форматирования и дополнительных опций. Формат имеет синтаксис в стиле INI. Каждый клиент или объект форматирования определяется в своем собственном разделе [client-N] или [formatter-N] соответственно, где N - порядковый номер объекта. Дополнительные опции определяются в разделе [options].

Пример конфигурационного файла:

[options]
host = example.com

[client-1]
type = sape
user = user12345
db_driver.type = shelve
db_driver.filename = /path/to/sape-XXX.db

[client-2]
type = linkfeed
user = user12345
db_driver.type = shelve
db_driver.filename = /path/to/linkfeed-XXX.db

[formatter-1]
type = list
count = 2
class_ = linx
prefix = "- "
suffix = ". "

[formatter-2]
type = inline
count = 2
class_ = linx
delimiter = " | "
prolog = "| "
epilog = " |"

[formatter-3]
type = list
count = none
class_ = linx
prefix = "+ "
suffix = ". "

Между именем параметра и знаком =, а также между знаком = и значением допускается наличие одного или несколько пробелов. Строковые значения могут быть заключены в двойные кавычки "". Для обозначения unicode-строки перед первой кавычкой необходимо поставить букву u. Числовые значения указываются в виде десятичного числа; булево-значения - true, false, on, off; значение None-типа - none.

Раздел [options]

Здесь указываются опции, которые используются при подключении библиотеки к фреймфоркам, и зависят от конкретного фреймворка.

Общие опции для всех фреймворков

config_encoding
Кодировка файла для определения unicode-строк. По умолчанию UTF-8.
host
Принудительно задет доменное имя, которое используется клиентами для получения ссылок. По умолчанию доменное имя определяется по HTTP-запросу.
rearrange_map
Задает правила перестановки блоков ссылок. Правило имеет вид i1:i2-o1:o2, где i1 и i2 - начальный и конечный индекс исходного массива блоков ссылок, o1 и o2 - начальный и конечный индекс выходного массива. Правила перечисляются через запятую. Данная возможность позволяет выводить блоки на разных страницах в разных местах. В шаблоне страницы можно определить большее количество мест для блоков ссылок чем их реальное количество (что определяется количеством объектов форматирования), и при помощи rearrange_map разбрасывать блоки по разным местам. Конкретная позиция каждого блока зависит от URL страницы.

Раздел [client-N]

Этот раздел описывает конфигурацию клиента системы купли-продажи ссылок. N - порядковый номер клиента, начиная с 1. Здесь обязательно должен быть определен параметр type.

type
Этот параметр задает тип клиента (точка входа setuptools), по которому определяется класс будущего объекта. На данный момент имеются такие клиенты: sape, sape_context, linkfeed.

Остальные параметры зависят от типа клиента.

Клиент sape

Клиент системы Sape.ru для обычных (не контекстных) ссылок. Имеет следующие параметры:

user
Хеш-код пользователя Sape. Указываться на странице при добавлении новой площадки в системе Sape.ru (совпадает с именем папки для размещения официального клиента). Обязательный параметр.
db_driver.*
Параметры драйвера базы данных. Подробности смотрите ниже. Обязательно должен быть указан db_driver.type, остальное зависит от типа драйвера.
db_lifetime
Время жизни базы данных в секундах. Если последнее обновление БД было больше чем указанное количество секунд назад, то выполняется ее обновление. По умолчанию 3600 секунд. Значение none отключает автоматическое обновление БД.
db_reloadtime
При ошибке обновления БД не предпринимать никаких попыток обновления на протяжении указанного в этом параметре промежутка времени. По умолчанию 600 секунд.
socket_timeout
Максимальное время ожидания ответа от удаленного сервера в секундах. По умолчанию 6 секунд.
force_show_code
Если true, всегда вставлять код проверки, иначе только при обращении бота (определяется по куки). По умолчанию true.
use_xml
Значение true включает использование формата XML при обновлении БД, в противном случаи используется формат сериализации PHP. Если использование формата XML включено, то URL файла БД выбирается из списка xml_server_list, и соответственно для разбора файла используется XML-парзер. Если же используется формат сериализации PHP, то URL файла БД выбирается из списка server_list, а для разбора файла используется модуль phpserialize.

Клиент sape_context

Клиент системы Sape.ru для контекстных ссылок. Имеет следующие параметры:

user
Тоже что и у клиента sape.
db_driver.*
Тоже что и у клиента sape.
db_lifetime
Тоже что и у клиента sape.
db_reloadtime
Тоже что и у клиента sape.
socket_timeout
Тоже что и у клиента sape.
force_show_code
Если true, всегда вставлять код проверки и теги <sape_index>, иначе только при обращении бота (определяется по куки). По умолчанию false.

Клиент linkfeed

Клиент системы LinkFeed.ru. Имеет следующие параметры:

user
Хеш-код пользователя LinkFeed. Указываться на странице при добавлении новой площадки в системе LinkFeed.ru (совпадает с именем папки для размещения официального клиента). Обязательный параметр.
db_driver.*
Тоже что и у клиента sape.
db_lifetime
Тоже что и у клиента sape.
db_reloadtime
Тоже что и у клиента sape.
socket_timeout
Тоже что и у клиента sape.
force_show_code
Если true, всегда вставлять код проверки, иначе только при обращении бота (определяется по IP). По умолчанию true.
use_xml
Тоже что и у клиента sape.

Параметры драйвера базы данных

db_driver.type
Тип драйвера (точка входа setuptools), по которому определяется класс объекта. На данный момент есть такие драйверы: mem, shelve.

Остальные параметры драйвера БД зависят от типа драйвера.

Драйвер БД mem

Хранит базу данных в памяти в виде словаря значений. Не имеет параметров.

Драйвер БД shelve

Использует стандартный модуль  shelve. Хранит данные в DBM-базе данных. Имеет следующие параметры:

db_driver.filename
Имя файла базы данных. Обязательный параметр. Если передана строка содержащая 'XXX', то конечное имя файла будет filename.replace('XXX', host), если последовательность 'XXX' не встречается, то имя файла будет filename + host, где host - доменное имя сайта. Можно также передавать в качестве значения filename функцию, тогда имя файла будет filename(host).
db_driver.max_lock_time
Максимальное время блокировки БД в секундах. БД блокируется при записи, чтобы предотвратить одновременный доступ с разных потоков/процессов. При превышении максимального времени блокировки блокировка снимается. По умолчанию 600 секунд.
db_driver.no_excl
Значение true запрещает использование флага O_EXCL при создании файла блокировки. По умолчанию false. Есть смысл включить этот параметр если файл БД расположен на сетевом диске, где O_EXCL не поддерживается.
db_driver.db_module
Принудительно задает используемый DBM-модуль. Возможные значения: dbhash, gdbm, dbm (не все модули доступы на всех платформах). По умолчанию выбирается первый доступный модуль.

Раздел [formatter-N]

Этот раздел описывает конфигурацию объекта форматирования. Объекты форматирования используются для разбиения ссылок на блоки и их форматирования. N - порядковый номер объекта форматирования, начиная с 1. Здесь обязательно должны быть определены параметры type и count.

type
Этот параметр задает тип (класс) объекта форматирования (точка входа setuptools), На данный момент имеются такие классы форматирования: inline, list.
count
Количество ссылок в блоке. Значение none означает забрать все оставшиеся ссылки.

Остальные параметры зависят от класса форматирования.

Класс форматирования inline

Данный класс оформляет блок ссылок в виде элемента DIV с перечисленными в нем ссылками. Имеет следующие параметры:

delimiter
Текст разделяющий ссылки.
prefix
Текст, который должен быть в начале каждой ссылки.
suffix
Текст, который должен быть в конце каждой ссылки.
prolog
Текст сразу после начального тега DIV и перед первой ссылкой. Не добавляется, если нет ни одной ссылки.
epilog
Текст сразу после последней ссылки и перед конечным тегом DIV. Не добавляется, если нет ни одной ссылки.
id
Значение для атрибута id элемента DIV.
class_
Значение для атрибута class элемента DIV когда в блоке есть ссылки.
class_for_empty
Значение для атрибута class элемента DIV когда в блоке нет ссылок.

Класс форматирования list

Оформляет блок ссылок в виде элемента UL с перечисленными в нем ссылками, каждая ссылка заключается в элемент LI. Либо как пустой элемент, указанный в параметре tag_for_empty, если нет ссылок. Имеет следующие параметры:

prefix
Текст, который должен быть в начале каждой ссылки.
suffix
Текст, который должен быть в конце каждой ссылки.
id
Значение для атрибута id элемента UL или пустого элемента.
class_
Значение для атрибута class элемента UL когда в блоке есть ссылки.
class_for_empty
Значение для атрибута class пустого элемента когда в блоке нет ссылок.
tag_for_empty
Тег используемый в блоке без ссылок. По умолчанию SPAN.