astropy:docs

Source code for astropy.units.format

# Licensed under a 3-clause BSD style license - see LICENSE.rst

"""
A collection of different unit formats.
"""

from __future__ import (absolute_import, division, print_function,
                        unicode_literals)

from inspect import isclass

from .base import Base
from .generic import Generic, Unscaled
from .cds import CDS
from .console import Console
from .fits import Fits
from .latex import Latex
from .ogip import OGIP
from .unicode_format import Unicode
from .vounit import VOUnit

__all__ = [
    'Base', 'Generic', 'CDS', 'Console', 'Fits', 'Latex', 'OGIP', 'Unicode',
    'Unscaled', 'VOUnit', 'get_format']

FORMATS = [
    'Generic', 'CDS', 'Console', 'Fits', 'Latex', 'OGIP', 'Unicode',
    'Unscaled', 'VOUnit']


[docs]def get_format(format=None): """ Get a formatter by name. Parameters ---------- format : str or `astropy.units.format.Base` instance or subclass The name of the format, or the format instance or subclass itself. Returns ------- format : `astropy.units.format.Base` instance The requested formatter. """ if isinstance(format, type) and issubclass(format, Base): return format() elif isinstance(format, Base): return format if format is None: format = 'generic' format = format.lower() for key in FORMATS: val = globals()[key] if isclass(val) and (issubclass(val, Base) and key.lower() == format.lower()): return val() raise ValueError("Unknown format {0!r}".format(format))

Page Contents