bazarr/libs/knowit/units.py

34 lines
748 B
Python

import typing
try:
import pint
except ImportError:
pint = False
class NullRegistry:
"""A NullRegistry that masquerades as a pint.UnitRegistry."""
def __init__(self):
"""Initialize a null registry."""
def __getattr__(self, item: typing.Any) -> int:
"""Return a Scalar 1 to simulate a unit."""
return 1
def __bool__(self):
"""Return False since a NullRegistry is not a pint.UnitRegistry."""
return False
def define(self, *args, **kwargs):
"""Pretend to add unit to the registry."""
def _build_unit_registry():
registry = pint.UnitRegistry() if pint else NullRegistry()
registry.define('FPS = 1 * hertz')
return registry
units = _build_unit_registry()