Формат вызова | Описание | Пример использования |
---|
coalesce(<list_of_values>) | | $)
|
extract(<code_type>, <start_position>[, <length>])
| | $)
|
format_mac([<delimeter>][, <groups>])
| | $)
|
gigabytes()
| | $)
|
int([<base>])
| | $)
|
ip4_and(<mask_string>)
| | $)
|
ip4_or(<mask_string>)
| | $)
|
ip4_scan()
| | $)
|
join(<delimeter>)
| | $)
|
lower()
| Приведение строки к нижнему регистру. | $request.RAD_REQUEST.User-Name.lower()
"sUpErUsEr.321" → "superuser.321" "TEST-LOGIN" → "test-login"
|
map_join(<delimeter>)
| | $)
|
merge(<list_of_values>)
| | $)
|
mod(<divider>)
| | $)
|
normalize_mac()
| | $)
|
pad_left(<length>, <pad_string>)
| | $)
|
pad_right(<length>, <pad_string>)
| | $)
|
pairs()
| | $)
|
regexp_replace(<regexp>[, <replacement_template>])
| | $request.RAD_REQUEST.User-Name.regexp_replace("^office([0-9]+?)$", "\\1")
"office2" → "2" "office123456789" → "123456789"
|
replace(<string_to_replace>[, <replacement])
| | $)
|
reverse()
| | $)
|
<string>.split([<separator>[, <maxsplit>]])
| | $)
|
<string>.strip(<chars>)
| Удаление пробелов в начале и конце строки <string> . | $request.RAD_REQUEST.User-Name.strip()
" Vasiliy Terkin " → "Vasiliy Terkin"
|
<string>.substring(<from_position>[, <to_position>])
| Извлечение подстроки из <string> : <from_position> — начало, а <to_position> — окончание. Символы нумеруются с нуля, верхняя граница интервала не включается. Если верхняя граница <to_position> не задана, подстрока извлекается до конца исходной строки. | $request.RAD_REQUEST.DHCP-Relay-Remote-Id.substring(6)
"0x010a31302e3232312e332e34" → "31302e3232312e332e34"
$request.RAD_REQUEST.DHCP-Relay-Circuit-Id.substring(12,14)
"0x0005010d0004e3a1" → "04" "0x0005010d00c" → "c"
|
<string>.to_date(<format>)
| Приведение строки в формате <format> к дате с временем (тип datetime.datetime в Python). Правила преобразования и описания формата идентичны таковым у метода datetime.strptime в Python: описание на docs.python.org. | $request.RAD_REQUEST.Event-Timestamp.to_date("%d.%m.%Y %H:%M:%S")
"06.08.1961 06:00:00" → datetime.datetime(1961, 8, 6, 6, 0)
|
<number>.to_days()
| Приведение количества дней <number> к разнице между датами с временем (тип datetime.timedelta в Python). <number> — целое число, либо преобразуемая к такому числу строка. | $session.attributes.Trial-Period-Days.to_days()
"-5" → datetime.timedelta(-5) 123 → datetime.timedelta(123)
|
<number>.to_hours()
| Приведение количества часов <number> к разнице между датами с временем (тип datetime.timedelta в Python). <number> — целое число, либо преобразуемая к такому числу строка. | $provider_profile.attributes.Acct-UTC-Offset.to_hours()
"-5" → datetime.timedelta(-1, 68400) 123 → datetime.timedelta(5, 10800)
|
<string>.to_i() | | |
<number>.to_minutes()
| Приведение количества минут <number> к разнице между датами с временем (тип datetime.timedelta в Python). <number> — целое число, либо преобразуемая к такому числу строка. | $customer_profile.attributes.Timeout.to_minutes()
"-5" → datetime.timedelta(-1, 86100) 123 → datetime.timedelta(0, 7380)
|
<value>.to_s([<format>])
| Приведение к строке. Если <value> — это дата с временем (тип datetime.datetime в Python), то она будет преобразована в соответствии с форматом <format> (его указание в этом случае обязательно). Правила преобразования и описания формата идентичны таковым у метода datetime.strftime в Python: описание на docs.python.org. | ($var.Connection-Date.to_date("%d.%m.%Y %H:%M:%S") + 1.to_seconds()).to_s("%Y-%m-%dT%H:%M:%S")
datetime.datetime(1961, 4, 12, 9, 7) → "1961-04-12T09:07:00"
|
<number>.to_seconds()
| Приведение количества секунд <number> к разнице между датами (тип datetime.timedelta в Python). <number> — целое число, либо преобразуемая к такому числу строка. | $var.Delay-In-Seconds.to_seconds()
"-5" → datetime.timedelta(-1, 86395) 123 → datetime.timedelta(0, 123)
|
<string>.to_subnet_suffix()
| Определение длины префикса IPv4-подсети с маской <string> (суффикса подсети в CIDR-нотации). | $response.RAD_REPLY.Framed-IP-Netmask.to_subnet_suffix()
"255.255.255.248" → 29 "255.255.240.0" → 20
|
<number>.to_subnet_mask()
| Формирование маски IPv4-подсети с длиной префикса равной <number> бит. <number> — целое число от 0 до 32, либо преобразуемая к такому числу строка. | $customer_profile.attributes.Custom-Netmask-Prefix.to_subnet_mask()
30 → "255.255.255.252" "21" → "255.255.248.0"
|
<value>.try(<key>[, <default_value>])
| Возвращает значение из <value> , соответствующее ключу <key> , или значение по умолчанию <default_value> , если такого ключа нет. Если <default_value> не задано, в качестве него используется пустое значение (None ). Особенности поведения в зависимости от типа <value> : - Пустое значение (
None ) — возвращается <default_value> независимо от <key> . Это позволяет применять несколько методов try в одном выражении. - Список — возвращается элемент списка с номером <key>, нумерация элементов списка ведётся с нуля.
<key> — целое неотрицательное число.
| $request.RAD_REQUEST.try("ERX-Service-Session") $customer_profile.provider_profiles.try(0).try("equipment_id") $var.try("Service-Auth-Speed-Limits").try("Rate", "100000000") $response.try("RAD_REPLY").try("Cisco-Account-Info").present?()
|
<string>.unhex()
| Декодирование строки <string> , представленной в виде шестнадцатеричных кодов символов (формат ASCII-HEX). Если в исходной строке есть префикс 0x , он отбрасывается. | $request.RAD_REQUEST.DHCP-Relay-Remote-Id.unhex()
"61383a66393a34623a35623a31623a3032" → "a8:f9:4b:5b:1b:02" "0x3137322e31362e3132302e323130" → "172.16.120.210"
|
<string>.upper()
| Приведение строки <string> к верхнему регистру. | $request.RAD_REQUEST.User-Name.upper()
|