Source code for pyobs.modules.roof.basedome

from __future__ import annotations

import logging
from abc import ABCMeta
from typing import Any

from pyobs.interfaces import IDome
from pyobs.utils import exceptions as exc

from .baseroof import BaseRoof

log = logging.getLogger(__name__)


class BaseDome(IDome, BaseRoof, metaclass=ABCMeta):
    """Base class for domes."""

    __module__ = "pyobs.modules.roof"

    def __init__(self, **kwargs: Any):
        """Initialize a new base dome."""
        BaseRoof.__init__(self, **kwargs)

        exc.register_exception(exc.MotionError, 3, timespan=600, callback=self._default_remote_error_callback)

[docs] async def get_fits_header_before( self, namespaces: list[str] | None = None, **kwargs: Any ) -> dict[str, tuple[Any, str]]: """Returns FITS header for the current status of this module. Args: namespaces: If given, only return FITS headers for the given namespaces. Returns: Dictionary containing FITS headers. """ hdr = await BaseRoof.get_fits_header_before(self, namespaces, **kwargs) _, az = await self.get_altaz() hdr["ROOF-AZ"] = (az, "Azimuth of roof slit, deg E of N") return hdr
__all__ = ["BaseDome"]