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