Source code for wwt_data_formats.enums
# -*- mode: python; coding: utf-8 -*-
# Copyright 2020 the .NET Foundation
# Licensed under the MIT License.
"""Various enumerations
"""
from __future__ import absolute_import, division, print_function
__all__ = '''
Bandpass
Classification
Constellation
DataSetType
FolderType
ProjectionType
SerEnum
'''.split()
from enum import Enum
[docs]class SerEnum(Enum):
"""A helper for enumerations that are serialized and deserialized from text.
In some WWT cases, multiple textualizations have historically been used
for the same value.
"""
[docs] @classmethod
def from_text(cls, text):
"""The default implementation here just looks up the appropriate enum instance
from its value.
"""
return cls(text)
[docs]class Bandpass(SerEnum):
GAMMA = 'Gamma'
XRAY = 'XRay'
ULTRAVIOLET = 'Ultraviolet'
VISIBLE = 'Visible'
HYDROGEN_ALPHA = 'HydrogenAlpha'
INFRARED = 'IR'
MICROWAVE = 'Microwave'
RADIO = 'Radio'
VISIBLE_NIGHT = 'VisibleNight'
[docs]class Classification(SerEnum):
UNSPECIFIED = ''
STAR = 'Star'
SUPERNOVA = 'Supernova'
BLACKHOLE = 'BlackHole'
NEUTRON_STAR = 'NeutronStar'
DOUBLE_STAR = 'DoubleStar'
MULTIPLE_STARS = 'MultipleStars'
ASTERISM = 'Asterism'
CONSTELLATION = 'Constellation'
OPEN_CLUSTER = 'OpenCluster'
GLOBULAR_CLUSTER = 'GlobularCluster'
NEBULOUS_CLUSTER = 'NebulousCluster'
NEBULA = 'Nebula'
EMISSION_NEBULA = 'EmissionNebula'
PLANETARY_NEBULA = 'PlanetaryNebula'
REFLECTION_NEBULA = 'ReflectionNebula'
DARK_NEBULA = 'DarkNebula'
GIANT_MOLECULAR_CLOUD = 'GiantMolecularCloud'
SUPERNOVA_REMNANT = 'SupernovaRemnant'
INTERSTELLAR_DUST = 'InterstellarDust'
QUASAR = 'Quasar'
GALAXY = 'Galaxy'
SPIRAL_GALAXY = 'SpiralGalaxy'
IRREGULAR_GALAXY = 'IrregularGalaxy'
ELLIPTICAL_GALAXY = 'EllipticalGalaxy'
KNOT = 'Knot'
PLATE_DEFECT = 'PlateDefect'
CLUSTER_OF_GALAXIES = 'ClusterOfGalaxies'
OTHER_NGC = 'OtherNGC'
UNIDENTIFIED = 'Unidentified'
SOLARS_YSTEM = 'SolarSystem'
UNFILTERED = 'Unfiltered'
STELLAR = 'Stellar'
STELLAR_GROUPINGS = 'StellarGroupings'
NEBULAE = 'Nebulae'
GALACTIC = 'Galactic'
OTHER = 'Other'
[docs]class Constellation(SerEnum):
UNSPECIFIED = ""
ANDROMEDA = "AND"
ANTLIA = "ANT"
APUS = "APS"
AQUARIUS = "AQR"
AQUILA = "AQL"
ARA = "ARA"
ARIES = "ARI"
AURIGA = "AUR"
BOOTES = "BOO"
CAELUM = "CAE"
CAMELOPARDALIS = "CAM"
CANCER = "CNC"
CANES_VENATICI = "CVN"
CANIS_MAJOR = "CMA"
CANIS_MINOR = "CMI"
CAPRICORNUS = "CAP"
CARINA = "CAR"
CASSIOPEIA = "CAS"
CENTAURUS = "CEN"
CEPHEUS = "CEP"
CETUS = "CET"
CHAMAELEON = "CHA"
CIRCINUS = "CIR"
COLUMBA = "COL"
COMA_BERENICES = "COM"
CORONA_AUSTRALIS = "CRA"
CORONA_BOREALIS = "CRB"
CORVUS = "CRV"
CRATER = "CRT"
CRUX = "CRU"
CYGNUS = "CYG"
DELPHINUS = "DEL"
DORADO = "DOR"
DRACO = "DRA"
EQUULEUS = "EQU"
ERIDANUS = "ERI"
FORNAX = "FOR"
GEMINI = "GEM"
GRUS = "GRU"
HERCULES = "HER"
HOROLOGIUM = "HOR"
HYDRA = "HYA"
HYDRUS = "HYI"
INDUS = "IND"
LACERTA = "LAC"
LEO = "LEO"
LEO_MINOR = "LMI"
LEPUS = "LEP"
LIBRA = "LIB"
LUPUS = "LUP"
LYNX = "LYN"
LYRA = "LYR"
MENSA = "MEN"
MICROSCOPIUM = "MIC"
MONOCEROS = "MON"
MUSCA = "MUS"
NORMA = "NOR"
OCTANS = "OCT"
OPHIUCHUS = "OPH"
ORION = "ORI"
PAVO = "PAV"
PEGASUS = "PEG"
PERSEUS = "PER"
PHOENIX = "PHE"
PICTOR = "PIC"
PISCES = "PSC"
PISCIS_AUSTRINUS = "PSA"
PUPPIS = "PUP"
PYXIS = "PYX"
RETICULUM = "RET"
SAGITTA = "SGE"
SAGITTARIUS = "SGR"
SCORPIUS = "SCO"
SCULPTOR = "SCL"
SCUTUM = "SCT"
SERPENS_CAPUT = "SER1"
SERPENS_CAUDA = "SER2"
SEXTANS = "SEX"
TAURUS = "TAU"
TELESCOPIUM = "TEL"
TRIANGULUM = "TRI"
TRIANGULUM_AUSTRALE = "TRA"
TUCANA = "TUC"
URSA_MAJOR = "UMA"
URSA_MINOR = "UMI"
VELA = "VEL"
VIRGO = "VIR"
VOLANS = "VOL"
VULPECULA = "VUL"
[docs]class DataSetType(SerEnum):
EARTH = 'Earth'
PLANET = 'Planet'
SKY = 'Sky'
PANORAMA = 'Panorama'
SOLAR_SYSTEM = 'SolarSystem'
SANDBOX = 'Sandbox'
[docs]class FolderType(SerEnum):
UNSPECIFIED = ''
EARTH = 'Earth'
PLANET = 'Planet'
SKY = 'Sky'
PANORAMA = 'Panorama'
[docs]class ProjectionType(SerEnum):
MERCATOR = 'Mercator'
EQUIRECTANGULAR = 'Equirectangular'
HEALPIX = 'Healpix'
TAN = 'Tan'
TOAST = 'Toast'
SPHERICAL = 'Spherical'
SKY_IMAGE = 'SkyImage'
PLOTTED = 'Plotted'
[docs] @classmethod
def from_text(cls, text):
if text == 'Tangent':
return cls.TAN
return cls(text)