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 .. |olas| replace:: :ref:`OLAS<def-olas>`
52 .. |oldb| replace:: :ref:`OLDB<def-oldb>`
54 .. |ocmserver| replace:: :ref:`daqOcmServer <daqOcmServer>`
55 .. |ocmctl| replace:: :ref:`daqOcmCtl <daqOcmCtl>`
56 .. |dpmserver| replace:: :ref:`daqDpmServer <daqDpmServer>`
57 .. |dpmmerge| replace:: :ref:`daqDpmMerge <daqDpmMerge>`
58 .. |dpmworkspace| replace:: :ref:`daqDpmServer workspace <dpmWorkspace>`
59 .. |rd1| replace:: :ref:`RD1 <rd1>`
60 .. |rd2| replace:: :ref:`RD2 <rd2>`
61 .. |rd3| replace:: :ref:`RD3 <rd3>`
62 .. |rd4| replace:: :ref:`RD4 <rd4>`
63 .. |rd-fits| replace:: :ref:`RD5 <rd5>`
64 .. |rd-esokw| replace:: :ref:`RD6 <rd6>`
65 .. |rd-olasicd| replace:: :ref:`RD7 <rd7>`
70 author=
'Rosenquist, Calle'
73 release_date=
'2021-xx-xx',
75 validated_pm=
'Kornweibel, Nick',
76 validated_se=
'González Herrera, Juan Carlos',
77 validated_pe=
'Biancat Marchet, Fabio',
78 approved_pgm=
'Tamai, Roberto')
85 version =
'2.1.0-pre1'
86 prerelease =
"-pre" in version
93 rev = subprocess.run([
"git",
"rev-parse",
"--short=5",
"HEAD"],
94 stdout=subprocess.PIPE).stdout.decode(
"utf-8")
95 suffix =
"+git.%s" % rev
112 exclude_patterns = []
115 pygments_style =
'default'
117 highlight_language =
'none'
120 todo_include_todos =
True
122 plantuml_batch_size = 100
129 html_theme =
'sphinx_eso_theme'
130 html_theme_path = [
'_themes/', ]
131 html_show_sourcelink =
False
132 html_copy_source =
False
143 html_static_path = [
'_static']
152 html_show_sphinx =
False
159 latex_toplevel_sectioning =
'section'
160 latex_docclass = dict(manual=
'article')
164 'papersize':
'a4paper',
174 \usepackage[public]{eso-pdm}
176 \pdmProject{Instrumentation Framework}
177 \pdmTitle{ELT~ICS~Framework Data Acquisition\\User~Manual}
178 \pdmHeaderTitle{ELT~ICS~Framework - Data Acquisition - User~Manual}
179 \pdmDocId{ESO-396401}
180 \pdmDocVersion{%(pdm_version)s}
181 \pdmDocType{User Manual (MAN)}
182 \pdmDocDate{%(release_date)s}
184 \pdmSignature{Owner}{%(owner)s}
185 \pdmSignature{Validated by PM}{%(validated_pm)s}
186 \pdmSignature{Validated by SE}{%(validated_se)s}
187 \pdmSignature{Validated by PE}{%(validated_pe)s}
188 \pdmSignature{Approved by PGM}{%(approved_pgm)s}
190 %% Disable pagestyle changes as it breaks ESO PDM style
191 \renewcommand{\pagestyle}[1]{}
197 'hmargin={0.7in,0.7in}, vmargin={1in,1in}, \
198 verbatimwithframe=true, \
199 OuterLinkColor={rgb}{0,0,0.6}, \
200 InnerLinkColor={rgb}{0,0,0}, \
201 warningBorderColor={rgb}{0.8,0,0}, \
202 cautionBorderColor={rgb}{1,0.8,0}, \
203 TitleColor={rgb}{0,0,0}',
204 'printindex':
r'\newpage',
208 %% Scope redefinition of clearpage to relax to avoid new pages for each
213 This document corresponds to
214 \sphinxhref{%(homepage)s}{\texttt{ifw-hl}\footnote{\sphinxnolinkurl{%(homepage)s}}} v%(ifw_release)s.
217 \begin{tabularx}{\linewidth}{|p{0.25\linewidth}|X|}
219 \multicolumn{1}{|l|}{\textbf{Name}}\tbspa &
220 \multicolumn{1}{l|}{\textbf{Affiliation}} \tbspb\\
222 \tbspa %(author)s & ESO/DOE/CSE\tbspb\\ \hline
225 \section*{Change Record from previous Version}
226 \begin{tabularx}{\linewidth}{|p{0.25\linewidth}|X|}
228 \multicolumn{1}{|l|}{\textbf{Affected Section(s)}}\tbspa &
229 \multicolumn{1}{l|}{\textbf{Changes / Reason / Remarks}} \tbspb\\
231 \tbspa All & First version \tbspb\\ \hline
234 %% Restore \clearpage
238 \hyphenation{Status-Topic}
240 ''' % dict(release=release, ifw_release=ifw_release, author=author, homepage=homepage),
241 'tableofcontents':
r'\tableofcontents\newpage',
244 latex_show_urls =
'footnote'
250 (
'index-latex',
'ELT_ICS_Framework_-_Data_Acquisition_-_User_Manual.tex',
251 'ELT ICS Framework - Data Acquisition - User Manual',
252 author,
'manual',
False),
258 required_arguments = 0
259 optional_arguments = 1
260 final_argument_whitespace =
True
263 node_class = nodes.admonition
265 def run(self) -> List[nodes.Node]:
266 self.options[
'class'] = [
'attention']
270 nodes = super().
run()
273 node = addnodes.only()
274 self.set_source_info(node)
275 node[
'expr'] =
"internal"
276 node.document = self.state.document
277 node.children = nodes
282 app.add_config_value(
'prerelease',
False,
'env')
283 app.add_directive(
'internal', Internal)