ukatali/src/ukatali/util.py

26 lines
840 B
Python

def coerce_bool(value):
"""Coerce a value to be a boolean"""
if isinstance(value, str):
return value[0].lower() in ['t', 'y', '1']
else:
return bool(value)
def convert_units(value, old_unit, new_unit):
"""Convert a value from one unit to another"""
if old_unit == 'in' and new_unit == 'mm':
return value * 25.4
if old_unit == 'mm' and new_unit == 'in':
return value / 25.4
if old_unit == 'in' and new_unit == 'pt':
return value * 72.0
if old_unit == 'pt' and new_unit == 'in':
return value / 72.0
if old_unit == 'mm' and new_unit == 'pt':
# Convert to in and then to pt
return (value / 25.4) * 72.0
if old_unit == 'pt' and new_unit == 'mm':
# Convert to in and then to mm
return (value / 72.0) * 25.4
return value