Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Формат вызоваОписаниеПример использования
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)
  • 123datetime.timedelta(123)

<number>.to_hours()

Приведение количества часов <number> к разнице между датами с временем (тип datetime.timedelta в Python). <number> — целое число, либо преобразуемая к такому числу строка.

$provider_profile.attributes.Acct-UTC-Offset.to_hours()

  • "-5"datetime.timedelta(-1, 68400)
  • 123datetime.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)
  • 123datetime.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)
  • 123datetime.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()

  • "SuPeRuSeR-123""SUPERUSER-123"

  • "test-login""TEST-LOGIN"

...