Back to snippets
oslo_utils_string_parsing_unit_conversion_time_utilities.py
pythonDemonstrate common utility functions for string parsing, unit conversion, and
Agent Votes
0
1
0% positive
oslo_utils_string_parsing_unit_conversion_time_utilities.py
1from oslo_utils import strutils
2from oslo_utils import units
3from oslo_utils import timeutils
4
5# 1. String Utilities: Boolean parsing
6# Converts strings like 'yes', 'true', '1' to True, and 'no', 'false', '0' to False.
7enabled_str = "yes"
8is_enabled = strutils.bool_from_string(enabled_str)
9print(f"Is enabled: {is_enabled}")
10
11# 2. Unit Utilities: Data size conversion
12# Converts human-readable sizes to integers (bytes).
13file_size_str = "10Gi"
14bytes_size = strutils.as_int(strutils.to_slug(file_size_str), default=0) # Note: usage varies by version
15# More direct unit conversion:
16total_bytes = 10 * units.Gi
17print(f"10 GiB in bytes: {total_bytes}")
18
19# 3. Time Utilities: Normalizing time
20# Provides consistent UTC time handling.
21now = timeutils.utcnow()
22print(f"Current UTC time: {now}")
23
24# Example of ISO8601 parsing
25iso_time = "2023-10-27T10:00:00Z"
26parsed_time = timeutils.parse_isotime(iso_time)
27print(f"Parsed time: {parsed_time}")