lib.itmens/catalog/music/utils.py

21 lines
466 B
Python
Raw Permalink Normal View History

import re
def upc_to_gtin_13(upc: str):
"""
Convert UPC-A to GTIN-13, return None if validation failed
may add or remove padding 0s from different source
"""
s = upc.strip() if upc else ""
if not re.match(r"^\d+$", s):
return None
if len(s) < 13:
s = s.zfill(13)
elif len(s) > 13:
if re.match(r"^0+$", s[0 : len(s) - 13]):
s = s[len(s) - 13 :]
else:
return None
return s