Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-sphinxcontrib-plantuml for 
openSUSE:Factory checked in at 2026-03-24 18:50:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-sphinxcontrib-plantuml (Old)
 and      /work/SRC/openSUSE:Factory/.python-sphinxcontrib-plantuml.new.8177 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-sphinxcontrib-plantuml"

Tue Mar 24 18:50:16 2026 rev:12 rq:1342227 version:0.31

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-sphinxcontrib-plantuml/python-sphinxcontrib-plantuml.changes
      2025-01-24 13:40:50.535742407 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-sphinxcontrib-plantuml.new.8177/python-sphinxcontrib-plantuml.changes
    2026-03-24 18:51:13.512290268 +0100
@@ -1,0 +2,9 @@
+Tue Mar 24 12:27:55 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.31:
+  * use inspect.getdoc() to get around breaking change in Python 3.13
+  * search for ImageConverter capable of svg to pdf conversion
+    after init
+- reenable tests
+
+-------------------------------------------------------------------

Old:
----
  sphinxcontrib-plantuml-0.30.tar.gz

New:
----
  sphinxcontrib-plantuml-0.31.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-sphinxcontrib-plantuml.spec ++++++
--- /var/tmp/diff_new_pack.NwN9om/_old  2026-03-24 18:51:14.052312605 +0100
+++ /var/tmp/diff_new_pack.NwN9om/_new  2026-03-24 18:51:14.056312771 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-sphinxcontrib-plantuml
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-sphinxcontrib-plantuml
-Version:        0.30
+Version:        0.31
 Release:        0
 Summary:        Sphinx API for Web Apps
 License:        BSD-2-Clause
@@ -59,9 +59,7 @@
 %check
 # upstream knows: 
https://github.com/sphinx-contrib/plantuml/commit/e1b3f7e709eae0e95c70564a7e42279db08c8447
 # s/class="figure"/class="figure align-default"/ in test_functional.py
-# Allow testsuite to fail, completely broken under Python 3.13
-# https://github.com/sphinx-contrib/plantuml/issues/99
-%pytest -k 'not test_buildhtml_name' || :
+%pytest -k 'not test_buildhtml_name'
 
 %files %{python_files}
 %doc README.rst

++++++ sphinxcontrib-plantuml-0.30.tar.gz -> sphinxcontrib-plantuml-0.31.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plantuml-0.30/.github/workflows/python-package.yml 
new/plantuml-0.31/.github/workflows/python-package.yml
--- old/plantuml-0.30/.github/workflows/python-package.yml      2024-05-22 
15:30:06.000000000 +0200
+++ new/plantuml-0.31/.github/workflows/python-package.yml      2025-09-03 
13:05:11.000000000 +0200
@@ -16,12 +16,12 @@
     strategy:
       fail-fast: false
       matrix:
-        python-version: [3.7, 3.8, 3.9]
+        python-version: [3.8, 3.12, 3.13]
 
     steps:
-    - uses: actions/checkout@v2
+    - uses: actions/checkout@v4
     - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v2
+      uses: actions/setup-python@v5
       with:
         python-version: ${{ matrix.python-version }}
     - name: Install dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plantuml-0.30/README.rst new/plantuml-0.31/README.rst
--- old/plantuml-0.30/README.rst        2024-05-22 15:30:06.000000000 +0200
+++ new/plantuml-0.31/README.rst        2025-09-03 13:05:11.000000000 +0200
@@ -90,14 +90,20 @@
 plantuml_latex_output_format
   Type of output image for LaTeX renderer. (default: 'png')
 
+  :svg_pdf: generate .svg and convert it to .pdf (requires registered 
ImageConverter)
+  :eps_pdf: generate .eps and convert it to .pdf (requires `epstopdf`)
+  :pdf: use `svg_pdf` if available, fallback to `eps_pdf`
   :eps: generate .eps (not supported by `pdflatex`)
-  :pdf: generate .eps and convert it to .pdf (requires `epstopdf`)
   :png: generate .png
   :tikz: generate .latex in the TikZ format
   :none: do not generate any images (ignore uml directive)
 
-  Because embedded png looks pretty bad, it is recommended to choose `pdf`
-  for `pdflatex` or `eps` for `platex`.
+  Because embedded png looks pretty bad, it is recommended
+  to choose `svg_pdf`.
+
+  An example for the registered ImageConverter would be
+  sphinxcontrib.inkscapeconverter from sphinxcontrib-svg2pdfconverter.
+  The first detected converter that supports .svg to .pdf is used.
 
 plantuml_epstopdf
   Path to epstopdf executable. (default: 'epstopdf')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plantuml-0.30/setup.py new/plantuml-0.31/setup.py
--- old/plantuml-0.30/setup.py  2024-05-22 15:30:06.000000000 +0200
+++ new/plantuml-0.31/setup.py  2025-09-03 13:05:11.000000000 +0200
@@ -6,7 +6,7 @@
 
 setup(
     name='sphinxcontrib-plantuml',
-    version='0.30',
+    version='0.31',
     url='https://github.com/sphinx-contrib/plantuml/',
     download_url='https://pypi.python.org/pypi/sphinxcontrib-plantuml',
     license='BSD',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plantuml-0.30/sphinxcontrib/plantuml.py 
new/plantuml-0.31/sphinxcontrib/plantuml.py
--- old/plantuml-0.30/sphinxcontrib/plantuml.py 2024-05-22 15:30:06.000000000 
+0200
+++ new/plantuml-0.31/sphinxcontrib/plantuml.py 2025-09-03 13:05:11.000000000 
+0200
@@ -35,6 +35,8 @@
     ensuredir,
 )
 
+from sphinx.transforms.post_transforms.images import ImageConverter
+
 try:
     from PIL import Image
 except ImportError:
@@ -614,9 +616,30 @@
     return refname[:-4] + '.pdf', fname[:-4] + '.pdf'
 
 
+def _convert_svg_to_pdf_default(node, refname, fname):
+    raise PlantUmlError('no ImageConverter for svg to pdf was found')
+
+
+def _svg_to_pdf_init(app):
+    for transform in app.registry.get_post_transforms():
+        if issubclass(transform, ImageConverter):
+            for source_type, target_type in transform.conversion_rules:
+                if 'svg' in source_type and 'pdf' in target_type:
+
+                    def _convert_svg_to_pdf(node, refname, fname, 
transform=transform):
+                        transform(node.document).convert(fname, fname[:-4] + 
'.pdf')
+                        return (refname[:-4] + '.pdf', fname[:-4] + '.pdf')
+
+                    _KNOWN_LATEX_FORMATS['pdf'] = ('svg', _convert_svg_to_pdf)
+                    _KNOWN_LATEX_FORMATS['svg_pdf'] = ('svg', 
_convert_svg_to_pdf)
+                    return
+
+
 _KNOWN_LATEX_FORMATS = {
     'eps': ('eps', lambda self, refname, fname: (refname, fname)),
     'pdf': ('eps', _convert_eps_to_pdf),
+    'eps_pdf': ('eps', _convert_eps_to_pdf),
+    'svg_pdf': ('svg', _convert_svg_to_pdf_default),
     'png': ('png', lambda self, refname, fname: (refname, fname)),
     'tikz': ('latex', lambda self, refname, fname: (refname, fname)),
 }
@@ -821,6 +844,7 @@
     app.add_config_value('plantuml_cache_path', '_plantuml', '')
     app.add_config_value('plantuml_batch_size', 1, '')
     app.connect('builder-inited', _on_builder_inited)
+    app.connect('builder-inited', _svg_to_pdf_init)
     app.connect('doctree-read', _on_doctree_read)
     app.connect('doctree-resolved', _on_doctree_resolved)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/plantuml-0.30/tests/test_functional.py 
new/plantuml-0.31/tests/test_functional.py
--- old/plantuml-0.30/tests/test_functional.py  2024-05-22 15:30:06.000000000 
+0200
+++ new/plantuml-0.31/tests/test_functional.py  2025-09-03 13:05:11.000000000 
+0200
@@ -1,4 +1,5 @@
 import glob
+import inspect
 import os
 import re
 import tempfile
@@ -55,7 +56,7 @@
                     rst2pdf.__file__
                 except ImportError:
                     raise unittest.SkipTest
-            src = '\n'.join(l[4:] for l in func.__doc__.splitlines()[2:])
+            src = ''.join(inspect.getdoc(func).splitlines(keepends=True)[2:])
             os.mkdir(_outdir)
             try:
                 runsphinx(src, builder, confoverrides)

Reply via email to