linotp.lib.type_utils module

contains utility functions for type checking

exception linotp.lib.type_utils.DurationParsingException

Bases: Exception

linotp.lib.type_utils.boolean(value)

type converter for boolean config entries

linotp.lib.type_utils.check_networks_expression(networks)

check if a given term is realy a description of networks

Parameters

networks – the term which should describe a network eg. “192.168.178.1/24, example.com/32”

Returns

boolean - true if this is a network description

linotp.lib.type_utils.check_time_format_string(time_format_string)

check if a given parameter is a valid time filter format

Parameters

timefilter_format – the term which should describe datetime format eg. “%d, %m, %H, %I, %M, %S, %J”

Returns

boolean - true if this is valid format string

linotp.lib.type_utils.convert_to_datetime(date_str, time_formats)

Convert a string to a datetime object by one of the time format strings.

Parameters
  • date_str – date string

  • time_formats – list of time formats, which the date string should match

linotp.lib.type_utils.encrypted_data(value)

type converter for config entries -

similar to int(bla) it will try to conveert the given value into an object of EncryptedData

Returns

EncyptedData object

linotp.lib.type_utils.get_duration(value)

return duration in seconds

linotp.lib.type_utils.get_ip_address(address)

get the ip address representation from netaddr

Parameters

address – the term which should describe a ip address eg. 192.168.178.1 or www.example.com

Returns

None or the netaddr.IPAddress object

linotp.lib.type_utils.get_ip_network(network)

get the ip network representation from netaddr

Parameters

network – the term which should describe a network eg. 192.168.178.1/24 or example.com/32

Returns

None or the netaddr.IPNetwork object

linotp.lib.type_utils.get_timeout(timeout, seperator=',')

get the timeout or timeout tuple from timeout input

linotp.lib.type_utils.is_duration(value)
linotp.lib.type_utils.is_integer(value)

type checking function for integers

Parameters

value – the to be checked value

Returns

return boolean

linotp.lib.type_utils.is_ip_address(address)

get the ip address representation from netaddr

Parameters

address – the term which should describe a ip address eg. 192.168.178.1 or www.example.com

Returns

boolean - true if it is an IPAddress

linotp.lib.type_utils.is_ip_address_dotted_quad(address)

Check whether address is an IP address in dotted-quad notation. is_ip_address() will also accept DNS names, which is not what we want. netaddr.IPAddress() returns valid results for strange input like 1.2, which might technically be an IP address but is not what people expect, so we don’t bother with it. Note that this will fail dismally in an IPv6 environment.

linotp.lib.type_utils.is_network(network)

test if a given term is realy a network description

Parameters

network – the term which should describe a network eg. 192.168.178.1/24 or example.com/32

Returns

boolean - true if this is a network description

linotp.lib.type_utils.parse_duration(duration_str, time_delta_compliant=False)

transform a duration string into a time delta object

from:

http://stackoverflow.com/questions/35626812/how-to-parse-timedelta-from-strings

Parameters

duration_str – duration string like ‘1h’ ‘3h 20m 10s’ ’10s’ or iso8601 durations like ‘P23DT23H’

Returns

timedelta

linotp.lib.type_utils.parse_timeout(timeout_val, seperator=',')

parse a timeout value which migth be a single value or a tuple of connection and response timeouts

Params timeout_val

timeout value which could be either string, tuple or float/int

Returns

timeout tuple of float or float/int timeout value