2 from typing
import List
4 from docutils.parsers.rst.directives.admonitions
import BaseAdmonition
5 from docutils
import nodes
6 from sphinx.util.docutils
import SphinxDirective
7 from sphinx
import addnodes
9 import sphinx_eso_theme
17 extensions = [
'sphinx.ext.intersphinx',
18 'sphinx.ext.ifconfig',
19 'sphinx.ext.graphviz',
21 'sphinxcontrib.plantuml',
24 source_suffix =
'.rst'
32 project =
'IFW Data Acquisition User Manual'
34 copyright =
' 2022 ESO - European Southern Observatory'
35 homepage =
r'https://gitlab.eso.org/ifw/ifw-daq'
41 .. |configpath| replace:: :term:`Config Path`
42 .. |recif| replace:: :term:`recif`
43 .. |dpspec| replace:: :term:`Data Product Specification`
45 .. |daq| replace:: :term:`Data Acquisition`
46 .. |daqs| replace:: :term:`Data Acquisitions <Data Acquisition>`
47 .. |dp| replace:: *Data Product*
48 .. |dps| replace:: *Data Products*
49 .. |ocm| replace:: :ref:`OCM<ocm>`
50 .. |dpm| replace:: :ref:`DPM<dpm>`
51 .. |cii| replace:: :ref:`CII<def-cii>`
52 .. |olas| replace:: :ref:`OLAS<def-olas>`
53 .. |oldb| replace:: :ref:`OLDB<def-oldb>`
54 .. |named-json| replace:: :sup:`{JSON}`
55 .. |rad| replace:: :ref:`RAD<def-rad>`
57 .. |ocmserver| replace:: :ref:`daqOcmServer <daqOcmServer>`
58 .. |ocmctl| replace:: :ref:`daqOcmCtl <daqOcmCtl>`
59 .. |dpmserver| replace:: :ref:`daqDpmServer <daqDpmServer>`
60 .. |dpmmerge| replace:: :ref:`daqDpmMerge <daqDpmMerge>`
61 .. |dpmworkspace| replace:: :ref:`daqDpmServer workspace <dpmWorkspace>`
62 .. |rd1| replace:: :ref:`RD1 <rd1>`
63 .. |rd2| replace:: :ref:`RD2 <rd2>`
64 .. |rd3| replace:: :ref:`RD3 <rd3>`
65 .. |rd4| replace:: :ref:`RD4 <rd4>`
66 .. |rd-fits| replace:: :ref:`RD5 <rd5>`
67 .. |rd-cfitsio| replace:: :ref:`RD8 <rd8>`
68 .. |rd-esokw| replace:: :ref:`RD6 <rd6>`
69 .. |rd-olasicd| replace:: :ref:`RD7 <rd7>`
70 .. |rd-rad| replace:: :ref:`RD9 <rd9>`
75 author=
'Rosenquist, Calle'
78 release_date=
'2021-xx-xx',
80 validated_pm=
'Kornweibel, Nick',
81 validated_se=
'González Herrera, Juan Carlos',
82 validated_pe=
'Biancat Marchet, Fabio',
83 approved_pgm=
'Tamai, Roberto')
90 version =
'3.0.0-pre2'
91 prerelease =
"-pre" in version
98 rev = subprocess.run([
"git",
"rev-parse",
"--short=5",
"HEAD"],
99 stdout=subprocess.PIPE).stdout.decode(
"utf-8")
100 suffix =
"+git.%s" % rev
117 exclude_patterns = []
120 pygments_style =
'default'
122 highlight_language =
'none'
125 todo_include_todos =
True
127 plantuml_batch_size = 100
134 html_theme =
'sphinx_eso_theme'
135 html_theme_path = [
'_themes/', ]
136 html_show_sourcelink =
False
137 html_copy_source =
False
148 html_static_path = [
'_static']
157 html_show_sphinx =
False
164 latex_toplevel_sectioning =
'section'
165 latex_docclass = dict(manual=
'article')
169 'papersize':
'a4paper',
179 \usepackage[public]{eso-pdm}
181 \pdmProject{Instrumentation Framework}
182 \pdmTitle{ELT~ICS~Framework Data Acquisition\\User~Manual}
183 \pdmHeaderTitle{ELT~ICS~Framework - Data Acquisition - User~Manual}
184 \pdmDocId{ESO-396401}
185 \pdmDocVersion{%(pdm_version)s}
186 \pdmDocType{User Manual (MAN)}
187 \pdmDocDate{%(release_date)s}
189 \pdmSignature{Owner}{%(owner)s}
190 \pdmSignature{Validated by PM}{%(validated_pm)s}
191 \pdmSignature{Validated by SE}{%(validated_se)s}
192 \pdmSignature{Validated by PE}{%(validated_pe)s}
193 \pdmSignature{Approved by PGM}{%(approved_pgm)s}
195 %% Disable pagestyle changes as it breaks ESO PDM style
196 \renewcommand{\pagestyle}[1]{}
202 'hmargin={0.7in,0.7in}, vmargin={1in,1in}, \
203 verbatimwithframe=true, \
204 OuterLinkColor={rgb}{0,0,0.6}, \
205 InnerLinkColor={rgb}{0,0,0}, \
206 warningBorderColor={rgb}{0.8,0,0}, \
207 cautionBorderColor={rgb}{1,0.8,0}, \
208 TitleColor={rgb}{0,0,0}',
209 'printindex':
r'\newpage',
213 %% Scope redefinition of clearpage to relax to avoid new pages for each
218 This document corresponds to
219 \sphinxhref{%(homepage)s}{\texttt{ifw-hl}\footnote{\sphinxnolinkurl{%(homepage)s}}} v%(ifw_release)s.
222 \begin{tabularx}{\linewidth}{|p{0.25\linewidth}|X|}
224 \multicolumn{1}{|l|}{\textbf{Name}}\tbspa &
225 \multicolumn{1}{l|}{\textbf{Affiliation}} \tbspb\\
227 \tbspa %(author)s & ESO/DOE/CSE\tbspb\\ \hline
230 \section*{Change Record from previous Version}
231 \begin{tabularx}{\linewidth}{|p{0.25\linewidth}|X|}
233 \multicolumn{1}{|l|}{\textbf{Affected Section(s)}}\tbspa &
234 \multicolumn{1}{l|}{\textbf{Changes / Reason / Remarks}} \tbspb\\
236 \tbspa All & First version \tbspb\\ \hline
239 %% Restore \clearpage
243 \hyphenation{Status-Topic}
245 ''' % dict(release=release, ifw_release=ifw_release, author=author, homepage=homepage),
246 'tableofcontents':
r'\tableofcontents\newpage',
249 latex_show_urls =
'footnote'
255 (
'index-latex',
'ELT_ICS_Framework_-_Data_Acquisition_-_User_Manual.tex',
256 'ELT ICS Framework - Data Acquisition - User Manual',
257 author,
'manual',
False),
263 required_arguments = 0
264 optional_arguments = 1
265 final_argument_whitespace =
True
268 node_class = nodes.admonition
270 def run(self) -> List[nodes.Node]:
271 self.options[
'class'] = [
'attention']
275 nodes = super().
run()
278 node = addnodes.only()
279 self.set_source_info(node)
280 node[
'expr'] =
"internal"
281 node.document = self.state.document
282 node.children = nodes
287 app.add_config_value(
'prerelease',
False,
'env')
288 app.add_directive(
'internal', Internal)
List[nodes.Node] run(self)