libioc.helpers module¶
Collection of iocage helper functions.
-
libioc.helpers.
exec
(command, logger=None, ignore_error=False, **subprocess_args)[source]¶ Execute a shell command.
- Return type
Tuple
[Optional
[str
],Optional
[str
],int
]
-
libioc.helpers.
exec_generator
(command, buffer_lines=True, summarize=True, encoding='UTF-8', universal_newlines=True, stdin=None, stdout=None, env=None, logger=None)[source]¶ Execute a command in an interactive shell.
- Return type
Generator
[bytes
,None
,Tuple
[Optional
[str
],Optional
[str
],int
]]
-
libioc.helpers.
exec_passthru
(command, logger=None, **subprocess_args)[source]¶ Execute a command in an interactive shell.
- Return type
Tuple
[Optional
[str
],Optional
[str
],int
]
-
libioc.helpers.
get_basedir_list
(distribution_name='FreeBSD')[source]¶ Return the list of basedirs according to the host distribution.
- Return type
List
[str
]
-
libioc.helpers.
get_os_version
(version_file='/bin/freebsd-version')[source]¶ Get the hosts userland version.
- Return type
Dict
[str
,Union
[str
,int
,float
]]
-
libioc.helpers.
makedirs_safe
(target, mode=448, logger=None)[source]¶ Create a directory without following symlinks.
- Return type
None
-
libioc.helpers.
mount
(destination, source=None, fstype='nullfs', opts=[], logger=None, **iov_data)[source]¶ Mount a filesystem using libc.
- Return type
None
-
libioc.helpers.
parse_bool
(data)[source]¶ Try to parse booleans from strings.
On success, it returns the parsed boolean on failure it raises a TypeError.
- Usage:
>>> parse_bool("YES") True >>> parse_bool("false") False >>> parse_bool("/etc/passwd") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: Not a boolean value
- Return type
bool
-
libioc.helpers.
parse_int
(data)[source]¶ Try to parse integer from strings.
On success, it returns the parsed integer on failure it raises a TypeError.
- Usage:
>>> parse_int("-1") -1 >>> parse_int(3) 3 >>> parse_int(None) TypeError: None is not a number >>> parse_int("invalid") TypeError: Value is not an integer: invalid >>> parse_int(5.0) 5 >>> parse_int(5.1) TypeError: Value is not an integer: 5.1
- Return type
int
-
libioc.helpers.
parse_list
(data)[source]¶ Transform a comma separated string into a list.
Always returns a list of strings. This list is empty when an empty string is provided or the value is None. In any other case the string is split by comma and returned as list.
- Return type
List
[str
]
-
libioc.helpers.
parse_none
(data, none_matches=['none', '-', ''])[source]¶ Raise if the input does not translate to None.
- Return type
None
-
libioc.helpers.
parse_user_input
(data)[source]¶ Parse user input.
uses parse_bool() to partially return Boolean and None values All other types as returned as-is
>>> parse_user_input("YES") True >>> parse_user_input("false") False >>> parse_user_input("notfalse") 'notfalse' >>> parse_user_input(8.4) 8.4 >>> parse_user_input(dict(ioc=123)) {'ioc': 123}
- Return type
Union
[str
,bool
,None
]
-
libioc.helpers.
require_no_symlink
(path, logger=None)[source]¶ Raise when the path contains a symlink.
- Return type
None
-
libioc.helpers.
split_list_string
(data, separator=', ')[source]¶ Split by separator but keep escaped ones.
- Parameters
data (str) – Input data that will be split by the separator.
separator (str) –
(optional, default=”,”)
Input data is split by this separator.
Example
>> split_strlist(“foo,bar,baz”) [“foo”, “bar,baz”]
Returns a list of strings from the input data where escaped separators are ignored and unescaped.
- Return type
List
[str
]
-
libioc.helpers.
to_humanreadable_name
(name)[source]¶ Return a shorted UUID or the original name.
- Return type
str
-
libioc.helpers.
to_string
(data, true='yes', false='no', none='-', delimiter=', ')[source]¶ Translate complex types into a string.
- Parameters
true (string) – The expected return value when data is True
false (string) – The expected return value when data is False
none (string) – The expected return value when data is None
- Returns
Map input according to arguments or stringified input
- Return type
string
- Usage:
>>> to_string(True) "yes" >>> to_string(False) "no"
>>> to_string(True, true="yip", false="nope") "yip" >>> to_string(False, true="yip", false="nope") "nope"
>>> to_string(None) "-"