def length_expand(name, value, unit, options=None): if options is None: options = {} if unit and 'percents'.startswith(unit): unit = '%' if isinstance(value, float): full_unit = options.get('CSS_default_unit_decimal', 'em') else: full_unit = options.get('CSS_default_unit', 'px') if value == 0: return '0' if value == '': return '' if unit: units = (val[1:] for key, val in FLAT_CSS if key == name and val.startswith('.')) req_units = [u for u in units if sub_string(u, unit)] PRIORITY = ("em", "ex", "vw", "vh", "vmin", "vmax" "vm", "ch", "rem", "px", "cm", "mm", "in", "pt", "pc") full_unit = hayaku_extract(unit, req_units, PRIORITY) if not full_unit: return return '{0}{1}'.format(value, full_unit)
def length_expand(name, value, unit, options=None): if options is None: options = {} if unit and "percents".startswith(unit): unit = "%" if isinstance(value, float): full_unit = options.get("CSS_default_unit_decimal", "em") else: full_unit = options.get("CSS_default_unit", "px") if "<number>" in [val for prop, val in get_flat_css() if prop == name] and not options.get( "CSS_units_for_unitless_numbers" ): full_unit = "" if value == 0: return "0" if value == "": return "" if unit: units = (val[1:] for key, val in get_flat_css() if key == name and val.startswith(".")) req_units = [u for u in units if sub_string(u, unit)] PRIORITY = ("em", "ex", "vw", "vh", "vmin", "vmax" "vm", "ch", "rem", "px", "cm", "mm", "in", "pt", "pc") full_unit = hayaku_extract(unit, req_units, PRIORITY) if not full_unit: return return "{0}{1}".format(value, full_unit)