From 42fa1a8dfeaa3dd88822f71843b0f79f73058987 Mon Sep 17 00:00:00 2001 From: Alexander Rossmanith Date: Fri, 7 Aug 2026 20:30:33 +0530 Subject: [PATCH] initial commit --- .gitignore | 207 ++++++++++++++++++++++++++++++++++++ README.md | 5 + data/example.odt | Bin 0 -> 88373 bytes exhibit-frontpages.odt | Bin 0 -> 3589 bytes exhibittool.code-workspace | 8 ++ poetry.lock | 114 ++++++++++++++++++++ pyproject.toml | 36 +++++++ scripts/Install-Python.ps1 | 3 + scripts/Install-Scoop.ps1 | 2 + src/exhibittool/__init__.py | 0 src/exhibittool/main.py | 97 +++++++++++++++++ tests/__init__.py | 0 12 files changed, 472 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 data/example.odt create mode 100644 exhibit-frontpages.odt create mode 100644 exhibittool.code-workspace create mode 100644 poetry.lock create mode 100644 pyproject.toml create mode 100644 scripts/Install-Python.ps1 create mode 100644 scripts/Install-Scoop.ps1 create mode 100644 src/exhibittool/__init__.py create mode 100644 src/exhibittool/main.py create mode 100644 tests/__init__.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b7faf40 --- /dev/null +++ b/.gitignore @@ -0,0 +1,207 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[codz] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py.cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock +#poetry.toml + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python. +# https://pdm-project.org/en/latest/usage/project/#working-with-version-control +#pdm.lock +#pdm.toml +.pdm-python +.pdm-build/ + +# pixi +# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control. +#pixi.lock +# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one +# in the .venv directory. It is recommended not to include this directory in version control. +.pixi + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.envrc +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Abstra +# Abstra is an AI-powered process automation framework. +# Ignore directories containing user credentials, local state, and settings. +# Learn more at https://abstra.io/docs +.abstra/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the entire vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Cursor +# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to +# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data +# refer to https://docs.cursor.com/context/ignore-files +.cursorignore +.cursorindexingignore + +# Marimo +marimo/_static/ +marimo/_lsp/ +__marimo__/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..892a65b --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# exhibittool + +A command-line tool that reads an ODT document, extracts the table of exhibits, and creates a front page for each exhibit. + +The exhibit table must be a two-column table of exhibits. the first column contains the exhibit label, e.g. "Exhibt R-1". The second column contains the exhibit description, e.g. "Sale deed no 123". diff --git a/data/example.odt b/data/example.odt new file mode 100644 index 0000000000000000000000000000000000000000..e372f36ea7bf6761c516f63eb37c29def691c79d GIT binary patch literal 88373 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

ELQ|9i~_%wisilkQq3f{bHlw!0fh1j^Bb~X8@ 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%0Aaw*--CA&{~nfvSr!lQ_dY_p`mp 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 z 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 literal 0 HcmV?d00001 diff --git a/exhibit-frontpages.odt b/exhibit-frontpages.odt new file mode 100644 index 0000000000000000000000000000000000000000..c48e066ce1e0d6a295155c89d1b8dda6213717d1 GIT binary patch literal 3589 zcmZ`+XEYqz79OHRCt7qFy^9FLAP7+=1_>rcX9U+Um?5J_4Wb1hxq6EhZ4hE~k?7GA zEsPSqCt8#z_uaShZq|F}th3HOKfb-rTKn5;f1d&55(yLF=jw{IG_!m!LoIX>|2&s3 zj*F9vJ;vM3-p0)h>11bvaYDIDdATAaQ8s8Nv?R*S-W7qe^K`Ly#Ykf8u^5BDlU@ER z+1*{n8UQf>Fh~vnP+lZMW4w{}Xi2OKvd_3LHdUIw=|Ci2N`XN=shvf_v?#DZ*=S

V3Cz!7+G38au~Of-NPmX*_ZH6Y2pS!dU7YLL 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 literal 0 HcmV?d00001 diff --git a/exhibittool.code-workspace b/exhibittool.code-workspace new file mode 100644 index 0000000..876a149 --- /dev/null +++ b/exhibittool.code-workspace @@ -0,0 +1,8 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..c50ae3c --- /dev/null +++ b/poetry.lock @@ -0,0 +1,114 @@ +# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. + +[[package]] +name = "defusedxml" +version = "0.7.1" +description = "XML bomb protection for Python stdlib modules" +optional = false +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +groups = ["main"] +files = [ + {file = "defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61"}, + {file = "defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69"}, +] + +[[package]] +name = "flake8" +version = "7.3.0" +description = "the modular source code checker: pep8 pyflakes and co" +optional = false +python-versions = ">=3.9" +groups = ["dev"] +files = [ + {file = "flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e"}, + {file = "flake8-7.3.0.tar.gz", hash = "sha256:fe044858146b9fc69b551a4b490d69cf960fcb78ad1edcb84e7fbb1b4a8e3872"}, +] + +[package.dependencies] +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.14.0,<2.15.0" +pyflakes = ">=3.4.0,<3.5.0" + +[[package]] +name = "mccabe" +version = "0.7.0" +description = "McCabe checker, plugin for flake8" +optional = false +python-versions = ">=3.6" +groups = ["dev"] +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "odfpy" +version = "1.4.1" +description = "Python API and tools to manipulate OpenDocument files" +optional = false +python-versions = "*" +groups = ["main"] +files = [ + {file = "odfpy-1.4.1.tar.gz", hash = "sha256:db766a6e59c5103212f3cc92ec8dd50a0f3a02790233ed0b52148b70d3c438ec"}, +] + +[package.dependencies] +defusedxml = "*" + +[[package]] +name = "pycodestyle" +version = "2.14.0" +description = "Python style guide checker" +optional = false +python-versions = ">=3.9" +groups = ["dev"] +files = [ + {file = "pycodestyle-2.14.0-py2.py3-none-any.whl", hash = "sha256:dd6bf7cb4ee77f8e016f9c8e74a35ddd9f67e1d5fd4184d86c3b98e07099f42d"}, + {file = "pycodestyle-2.14.0.tar.gz", hash = "sha256:c4b5b517d278089ff9d0abdec919cd97262a3367449ea1c8b49b91529167b783"}, +] + +[[package]] +name = "pyflakes" +version = "3.4.0" +description = "passive checker of Python programs" +optional = false +python-versions = ">=3.9" +groups = ["dev"] +files = [ + {file = "pyflakes-3.4.0-py2.py3-none-any.whl", hash = "sha256:f742a7dbd0d9cb9ea41e9a24a918996e8170c799fa528688d40dd582c8265f4f"}, + {file = "pyflakes-3.4.0.tar.gz", hash = "sha256:b24f96fafb7d2ab0ec5075b7350b3d2d2218eab42003821c06344973d3ea2f58"}, +] + +[[package]] +name = "ruff" +version = "0.14.2" +description = "An extremely fast Python linter and code formatter, written in Rust." +optional = false +python-versions = ">=3.7" +groups = ["dev"] +files = [ + {file = "ruff-0.14.2-py3-none-linux_armv6l.whl", hash = "sha256:7cbe4e593505bdec5884c2d0a4d791a90301bc23e49a6b1eb642dd85ef9c64f1"}, + {file = "ruff-0.14.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8d54b561729cee92f8d89c316ad7a3f9705533f5903b042399b6ae0ddfc62e11"}, + {file = "ruff-0.14.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5c8753dfa44ebb2cde10ce5b4d2ef55a41fb9d9b16732a2c5df64620dbda44a3"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d0bbeffb8d9f4fccf7b5198d566d0bad99a9cb622f1fc3467af96cb8773c9e3"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7047f0c5a713a401e43a88d36843d9c83a19c584e63d664474675620aaa634a8"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bf8d2f9aa1602599217d82e8e0af7fd33e5878c4d98f37906b7c93f46f9a839"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:1c505b389e19c57a317cf4b42db824e2fca96ffb3d86766c1c9f8b96d32048a7"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a307fc45ebd887b3f26b36d9326bb70bf69b01561950cdcc6c0bdf7bb8e0f7cc"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61ae91a32c853172f832c2f40bd05fd69f491db7289fb85a9b941ebdd549781a"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1967e40286f63ee23c615e8e7e98098dedc7301568bd88991f6e544d8ae096"}, + {file = "ruff-0.14.2-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:2877f02119cdebf52a632d743a2e302dea422bfae152ebe2f193d3285a3a65df"}, + {file = "ruff-0.14.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e681c5bc777de5af898decdcb6ba3321d0d466f4cb43c3e7cc2c3b4e7b843a05"}, + {file = "ruff-0.14.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e21be42d72e224736f0c992cdb9959a2fa53c7e943b97ef5d081e13170e3ffc5"}, + {file = "ruff-0.14.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:b8264016f6f209fac16262882dbebf3f8be1629777cf0f37e7aff071b3e9b92e"}, + {file = "ruff-0.14.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5ca36b4cb4db3067a3b24444463ceea5565ea78b95fe9a07ca7cb7fd16948770"}, + {file = "ruff-0.14.2-py3-none-win32.whl", hash = "sha256:41775927d287685e08f48d8eb3f765625ab0b7042cc9377e20e64f4eb0056ee9"}, + {file = "ruff-0.14.2-py3-none-win_amd64.whl", hash = "sha256:0df3424aa5c3c08b34ed8ce099df1021e3adaca6e90229273496b839e5a7e1af"}, + {file = "ruff-0.14.2-py3-none-win_arm64.whl", hash = "sha256:ea9d635e83ba21569fbacda7e78afbfeb94911c9434aff06192d9bc23fd5495a"}, + {file = "ruff-0.14.2.tar.gz", hash = "sha256:98da787668f239313d9c902ca7c523fe11b8ec3f39345553a51b25abc4629c96"}, +] + +[metadata] +lock-version = "2.1" +python-versions = ">=3.13" +content-hash = "d08e22ac9c2eed536f2987c53d969e464ba23c20880c3cbaaa42225738bdd9cf" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..329c150 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,36 @@ +[project] +name = "exhibittool" +version = "0.1.0" +description = "Generate a front page for all exhibits" +authors = [ + {name = "Alexander Rossmanith", email = "exhibittool@alexander-rossmanith.de"} +] +readme = "README.md" +requires-python = ">=3.13" +dependencies = [ + "odfpy (>=1.4.1,<2.0.0)" +] + +[tool.poetry] +package-mode = false +packages = [{include = "exhibittool", from = "src"}] + +[tool.poetry.group.dev.dependencies] +flake8 = "^7.3.0" +ruff = "^0.14.2" + +[tool.flake8] +max-line-length = 99 + +[tool.ruff] +line-length = 99 + +[tool.ruff.format] +quote-style = "double" +indent-style = "space" +docstring-code-format = true +docstring-code-line-length = 79 + +[build-system] +requires = ["poetry-core>=2.0.0,<3.0.0"] +build-backend = "poetry.core.masonry.api" diff --git a/scripts/Install-Python.ps1 b/scripts/Install-Python.ps1 new file mode 100644 index 0000000..9987f24 --- /dev/null +++ b/scripts/Install-Python.ps1 @@ -0,0 +1,3 @@ +scoop install python +scoop install pipx +pipx install poetry diff --git a/scripts/Install-Scoop.ps1 b/scripts/Install-Scoop.ps1 new file mode 100644 index 0000000..e5594f6 --- /dev/null +++ b/scripts/Install-Scoop.ps1 @@ -0,0 +1,2 @@ +Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser +Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression diff --git a/src/exhibittool/__init__.py b/src/exhibittool/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/exhibittool/main.py b/src/exhibittool/main.py new file mode 100644 index 0000000..ff3d419 --- /dev/null +++ b/src/exhibittool/main.py @@ -0,0 +1,97 @@ +import argparse +from odf.opendocument import load, OpenDocumentText +from odf.table import Table, TableRow, TableCell +from odf.text import P +from odf.style import Style, TextProperties, ParagraphProperties + +DEFAULT_TITLE = ( + "Munsiff Court, Adimaly, OS No. 92 of 2024, " + "Written Statement 5. 11. 2025" +) + + +def create_odt_front_pages(exhibits, case_title, output_file): + textdoc = OpenDocumentText() + + # Case-title style: large, centered, sans-serif, with spacing + case_title_style = Style(name="CaseTitleStyle", family="paragraph") + case_title_style.addElement( + TextProperties(fontsize="18pt", fontfamily="Liberation Sans") + ) + case_title_style.addElement( + ParagraphProperties(textalign="center", marginbottom="1cm") + ) + textdoc.styles.addElement(case_title_style) + + # Exhibit-label style: large, centered, sans-serif, with spacing + exhibit_label_style = Style(name="ExhibitLabel", family="paragraph") + exhibit_label_style.addElement( + TextProperties(fontsize="24pt", fontfamily="Liberation Sans") + ) + exhibit_label_style.addElement( + ParagraphProperties(textalign="center", marginbottom="1cm") + ) + textdoc.styles.addElement(exhibit_label_style) + + # Description style: smaller, left-aligned, sans-serif, with spacing + desc_style = Style(name="DescStyle", family="paragraph") + desc_style.addElement(TextProperties(fontsize="18pt", fontfamily="Liberation Sans")) + desc_style.addElement(ParagraphProperties(textalign="start", marginbottom="1cm")) + textdoc.styles.addElement(desc_style) + + # Page break style + pagebreak_style = Style(name="PageBreak", family="paragraph") + pagebreak_style.addElement(ParagraphProperties(breakbefore="page")) + textdoc.styles.addElement(pagebreak_style) + + for i, (label, description) in enumerate(exhibits): + para = P(stylename=case_title_style, text=case_title) + textdoc.text.addElement(para) + + para = P(stylename=exhibit_label_style, text=label) + textdoc.text.addElement(para) + + desc_para = P(stylename=desc_style) + desc_para.addText(f"Description: {description}") + textdoc.text.addElement(desc_para) + + if i < len(exhibits) - 1: + textdoc.text.addElement(P(stylename=pagebreak_style)) + + textdoc.save(output_file) + + +def extract_exhibits(odt_path): + doc = load(odt_path) + exhibits = [] + + for table in doc.getElementsByType(Table): + for row in table.getElementsByType(TableRow): + cells = row.getElementsByType(TableCell) + if len(cells) >= 2: + label = "".join([str(p) for p in cells[0].getElementsByType(P)]).strip() + desc = "".join([str(p) for p in cells[1].getElementsByType(P)]).strip() + if label and desc: + exhibits.append((label, desc)) + return exhibits + + +def main(): + parser = argparse.ArgumentParser( + description="Generate a single ODT front page document for all exhibits." + ) + parser.add_argument("input_file", help="Path to the input ODT file") + parser.add_argument("output_file", help="Path to the output ODT file") + parser.add_argument( + "--case-title", default=DEFAULT_TITLE, help="Title of the court case to display" + ) + + args = parser.parse_args() + + exhibits = extract_exhibits(args.input_file) + create_odt_front_pages(exhibits, args.case_title, args.output_file) + print(f"Saved all front pages to: {args.output_file}") + + +if __name__ == "__main__": + main() diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..e69de29