Finish resource management script

This commit is contained in:
jaseg 2024-08-27 15:45:34 +02:00
parent 57307b5b0c
commit 783b1127e5
43 changed files with 57 additions and 53 deletions

1
chapter-qkd/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
version.tex

View file

@ -34,10 +34,11 @@
\usepackage{epstopdf}
\usepackage{pdfpages}
\usepackage{etoolbox}
\usepackage{catchfile}
\usepackage{minitoc}
\usepackage{minted} % pygmentized source code
%\usepackage[pdftex]{graphicx,color}
%\usepackage{showframe} Useful for page layout debugging
%\usepackage{showframe} % Useful for page layout debugging
\DeclareSIUnit{\baud}{Bd}
@ -131,16 +132,12 @@
\newcommand{\figurepath}{figures}
\graphicspath{{\figurepath}}
\newcommand{\figureattrib}[1]{
\listxadd{\figureattribcache}{Resource location:}
%\href{\input{\figurepath/#1.git_url}}{
% git repo \input{\figurepath/#1.git_remote}
% path \input{\figurepath/#1.git_path}
% rev \input{\figurepath/#1.git_rev}}
}
\newcommand{\flushfigureattrib}{
\forlistloop{\blfootnote}{\figureattribcache}
\undef\figureattribcache
\newcommand{\figureattrib}[1]{%
\input{\figurepath/#1.latex_meta} %
\footnotesize Resource: %
\texttt{\resourcerepo/\resourcepath} %
rev \texttt{\resourcerev} %
(\underline{\href{\resourceurl}{link}})%
}
\hyphenation{a-me-na-ble}
@ -605,16 +602,13 @@ provides a combined power and multi-fiber passthrough that is sufficient for QKD
\subsection{Multi-fiber passthrough with active secondary mesh}
\begin{figure}
\subcaptionbox{}{\includegraphics[width=\textwidth]{render_side_1.png}}
\figureattrib{render_side_1.png}
\subcaptionbox{}{\includegraphics[width=\textwidth]{render_side_2.png}}
\figureattrib{render_side_2.png}
\subcaptionbox[Rendering of the complete offset secondary mesh assembly with interlocking labyrinth.]{\figureattrib{render_side_1.png}}{\includegraphics[width=\textwidth]{render_side_1.png}}
\subcaptionbox[Rendering of the complete offset secondary mesh assembly with interlocking labyrinth.]{\figureattrib{render_side_2.png}}{\includegraphics[width=\textwidth]{render_side_2.png}}
\caption{
Renderings of the complete offset secondary mesh assembly with interlocking labyrinth.
}
\end{figure}
\flushfigureattrib
\section{Outlook}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_1.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
gear_plan_1.svg

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_1.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{gear\_plan\_1.svg}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_2.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
gear_plan_2.svg

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_2.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{gear\_plan\_2.svg}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear_plan_3.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
gear_plan_3.svg

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/gear\_plan\_3.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{gear\_plan\_3.svg}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_exp_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
render_exp_1.png

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_exp\_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{render\_exp\_1.png}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_exp_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
render_exp_2.png

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_exp\_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{render\_exp\_2.png}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_side_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
render_side_1.png

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_side\_1.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{render\_side\_1.png}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render_side_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
render_side_2.png

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/render\_side\_2.png?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{render\_side\_2.png}

View file

@ -1 +0,0 @@
https://git.jaseg.de/ihsm-secondary-mesh.git/plain/schema_wire.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479

View file

@ -1 +0,0 @@
schema_wire.svg

View file

@ -1 +0,0 @@
git@git.jaseg.de:ihsm-secondary-mesh.git

View file

@ -1 +0,0 @@
3a7edbd

View file

@ -0,0 +1,4 @@
\def\resourceurl{https://git.jaseg.de/ihsm-secondary-mesh.git/plain/schema\_wire.svg?h=3a7edbd1127cacc8f4c90376595b894105f3d479}
\def\resourcerev{3a7edbd}
\def\resourcerepo{ihsm-secondary-mesh.git}
\def\resourcepath{schema\_wire.svg}

View file

@ -1,5 +1,6 @@
#!/usr/bin/env python3
import textwrap
import subprocess
import sys
import fnmatch
@ -36,6 +37,11 @@ def remote_url(repo=None):
def paths(s):
return [Path(line.strip()) for line in s.strip().splitlines()]
def tex_escape(s):
s = str(s)
s = s.replace('_', r'\_')
return s
@click.command()
@click.argument('figure_dir', default='.', type=click.Path(exists=True, file_okay=False, path_type=Path))
@ -68,18 +74,21 @@ def cli(figure_dir):
print(f'Updated {fig_fn} from {mod_fn}.')
shutil.copy(mod_file, fig_file)
meta_file('.git_path').write_text(str(mod_fn))
repo_url = remote_url(repo=mod)
meta_file('.git_remote').write_text(repo_url)
url_prefix = repo_url.replace('git@git.jaseg.de:', 'https://git.jaseg.de/')
repo_name = repo_url.replace('git@git.jaseg.de:', '').replace('https://git.jaseg.de/', '')
git_rev = git('rev-parse', 'HEAD', repo=mod).strip()
cgit_url = f'{url_prefix}/plain/{mod_fn}?h={git_rev}'
meta_file('.git_hyperlink').write_text(cgit_url)
git_tag = git('describe', '--always', '--tags', repo=mod).strip()
meta_file('.git_rev').write_text(git_tag)
meta_file('.latex_meta').write_text(textwrap.dedent(fr'''
\def\resourceurl{{{tex_escape(cgit_url)}}}
\def\resourcerev{{{tex_escape(git_tag)}}}
\def\resourcerepo{{{tex_escape(repo_name)}}}
\def\resourcepath{{{tex_escape(mod_fn)}}}
''').strip())
unmatched = figure_files - set(repo_matches.keys())
if unmatched: