Source code for noctua.templates.testoutput

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Third-party modules
import numpy as np
from astropy.time import Time

# Other templates
from ..config.constants import on_off
# from devices import lamp, light
from ..utils.logger import log
from ..utils.structure import foc_path
from .basetemplate import BaseTemplate


[docs] class Template(BaseTemplate): '''Writes a data file.''' def __init__(self): '''Constructor.''' super().__init__() self.name = __name__ self.description = "Switches off all the lamps"
[docs] def content(self, params={}): # Initial comment about variables a, b, c comment = "These are the variables a, b, c in the file." # Variables a = ["A", "B", "C"] b = [1, 2, 3] c = [0.1, 0.2, 0.3] # Writing to a space-separated text file (appending) file_path = foc_path(Time.now().isot) # Write the initial comment if the file doesn't exist with open(file_path, "a+") as file: file.seek(0) if not file.read(1): file.write(f"# {comment}\n") # Append lines in subsequent iterations for a_val, b_val, c_val in zip(a, b, c): # opening all the time and not at begginning just for safety with open(file_path, "a") as file: file.write(f"{a_val} {b_val} {c_val}\n") log.info(f"File '{file_path}' updated successfully.")