Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-relatorio for 
openSUSE:Factory checked in at 2022-05-04 15:10:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-relatorio (Old)
 and      /work/SRC/openSUSE:Factory/.python-relatorio.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-relatorio"

Wed May  4 15:10:53 2022 rev:14 rq:974782 version:0.10.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-relatorio/python-relatorio.changes        
2021-09-16 23:17:26.075969920 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-relatorio.new.1538/python-relatorio.changes  
    2022-05-04 15:11:15.040179406 +0200
@@ -1,0 +2,9 @@
+Tue May  3 14:55:52 UTC 2022 - Axel Braun <axel.br...@gmx.de>
+
+- version 0.10.1
+  * Add support for Python 3.10
+  * Support directive applying to itself
+  * Keep tail of directive
+  * Use unittest discover
+
+-------------------------------------------------------------------

Old:
----
  relatorio-0.10.0.tar.gz

New:
----
  relatorio-0.10.1.tar.gz

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

Other differences:
------------------
++++++ python-relatorio.spec ++++++
--- /var/tmp/diff_new_pack.LTtRSg/_old  2022-05-04 15:11:15.644180149 +0200
+++ /var/tmp/diff_new_pack.LTtRSg/_new  2022-05-04 15:11:15.648180153 +0200
@@ -1,8 +1,8 @@
 #
 # spec file for package python-relatorio
 #
-# Copyright (c) 2021 SUSE LLC
-# Copyright (c) 2016-2021 Dr. Axel Braun
+# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2016-2022 Dr. Axel Braun
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -20,7 +20,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define         mod_name relatorio
 Name:           python-relatorio
-Version:        0.10.0
+Version:        0.10.1
 Release:        0
 Summary:        Python module to create reports from Python objects
 License:        GPL-3.0-or-later
@@ -74,7 +74,8 @@
 %files %{python_files}
 %license LICENSE
 %doc README COPYRIGHT README
-%{python_sitelib}/*
 %python_alternative %{_bindir}/relatorio-render
+%{python_sitelib}/relatorio
+%{python_sitelib}/relatorio-%{version}*-info
 
 %changelog

++++++ relatorio-0.10.0.tar.gz -> relatorio-0.10.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/.drone.yml 
new/relatorio-0.10.1/.drone.yml
--- old/relatorio-0.10.0/.drone.yml     2021-09-10 11:32:24.000000000 +0200
+++ new/relatorio-0.10.1/.drone.yml     2021-12-18 01:58:11.000000000 +0100
@@ -27,5 +27,7 @@
           TOXENV: py38
         - IMAGE: python:3.9
           TOXENV: py39
+        - IMAGE: python:3.10
+          TOXENV: py310
         - IMAGE: pypy:3
           TOXENV: pypy3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/.hgtags new/relatorio-0.10.1/.hgtags
--- old/relatorio-0.10.0/.hgtags        2021-09-11 23:24:35.000000000 +0200
+++ new/relatorio-0.10.1/.hgtags        2022-05-02 11:35:38.000000000 +0200
@@ -30,3 +30,4 @@
 9c0efe3507a42762e2128f9ad475f463da253c2b 0.9.2
 b190bcec6e4440fd4d21400bb1a6b01291448e41 0.9.3
 ef956866045d0ef69164574cdda0a95be63e1f20 0.10.0
+196491cc18cbbf34d720a12d41bc77ac75919e84 0.10.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/.isort.cfg 
new/relatorio-0.10.1/.isort.cfg
--- old/relatorio-0.10.0/.isort.cfg     1970-01-01 01:00:00.000000000 +0100
+++ new/relatorio-0.10.1/.isort.cfg     2021-12-18 01:59:27.000000000 +0100
@@ -0,0 +1,2 @@
+[settings]
+multi_line_output=4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/CHANGELOG 
new/relatorio-0.10.1/CHANGELOG
--- old/relatorio-0.10.0/CHANGELOG      2021-09-11 23:10:17.000000000 +0200
+++ new/relatorio-0.10.1/CHANGELOG      2022-05-02 11:34:57.000000000 +0200
@@ -1,3 +1,9 @@
+* 0.10.1 - 20220502
+* Use unittest discover
+* Add support for Python 3.10
+* Support directive applying to itself
+* Keep tail of directive
+
 * 0.10.0 - 20210911
 * Remove support for Python older than 3.5
 * Add relatorio-render script
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/COPYRIGHT 
new/relatorio-0.10.1/COPYRIGHT
--- old/relatorio-0.10.0/COPYRIGHT      2021-09-11 23:10:27.000000000 +0200
+++ new/relatorio-0.10.1/COPYRIGHT      2022-05-02 11:35:03.000000000 +0200
@@ -1,6 +1,6 @@
 Copyright (C) 2008-2021 Nicolas ??vrard
 Copyright (C) 2008-2009 Ga??tan de Menten
-Copyright (C) 2008-2021 C??dric Krier
+Copyright (C) 2008-2022 C??dric Krier
 Copyright (C) 2008 Udo Spallek
 Copyright (C) 2007-2008 OpenHex SPRL
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/PKG-INFO 
new/relatorio-0.10.1/PKG-INFO
--- old/relatorio-0.10.0/PKG-INFO       2021-09-11 23:25:22.633879000 +0200
+++ new/relatorio-0.10.1/PKG-INFO       2022-05-02 11:37:30.630711300 +0200
@@ -1,31 +1,16 @@
 Metadata-Version: 2.1
 Name: relatorio
-Version: 0.10.0
+Version: 0.10.1
 Summary: A templating library able to output odt and pdf files
 Home-page: https://pypi.python.org/pypi/relatorio
+Download-URL: https://downloads.tryton.org/relatorio/
 Author: Tryton
 Author-email: relato...@tryton.org
 License: GPL License
-Download-URL: https://downloads.tryton.org/relatorio/
 Project-URL: Bug Tracker, https://relatorio.tryton.org/
 Project-URL: Documentation, https://relatorio.readthedocs.org/
 Project-URL: Forum, https://discuss.tryton.org/tags/relatorio
 Project-URL: Source Code, https://hg.tryton.org/relatorio/
-Description: Relatorio
-        =========
-        
-        Relatorio is a templating library which provides a way to easily 
output several
-        kinds of files (odt, ods, png, svg, ...). Support for more filetypes 
can
-        be easily added by creating plugins for them.
-        
-        Relatorio also provides a report repository allowing you to link 
python objects
-        and report together, find reports by mimetype/name/python object.
-        
-        Documenation
-        ============
-        
-        The documenation is provided at http://relatorio.readthedocs.org/
-        
 Keywords: templating OpenDocument PDF
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
@@ -38,8 +23,27 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Text Processing
 Requires-Python: >=3.5
 Provides-Extra: chart
 Provides-Extra: fodt
+License-File: LICENSE
+
+Relatorio
+=========
+
+Relatorio is a templating library which provides a way to easily output several
+kinds of files (odt, ods, png, svg, ...). Support for more filetypes can
+be easily added by creating plugins for them.
+
+Relatorio also provides a report repository allowing you to link python objects
+and report together, find reports by mimetype/name/python object.
+
+Documenation
+============
+
+The documenation is provided at http://relatorio.readthedocs.org/
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/doc/conf.py 
new/relatorio-0.10.1/doc/conf.py
--- old/relatorio-0.10.0/doc/conf.py    2021-09-10 11:23:00.000000000 +0200
+++ new/relatorio-0.10.1/doc/conf.py    2021-09-11 23:27:48.000000000 +0200
@@ -42,9 +42,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '0.9'
+version = '0.10'
 # The full version, including alpha/beta/rc tags.
-release = '0.9.4'
+release = '0.10.1'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/examples/common.py 
new/relatorio-0.10.1/examples/common.py
--- old/relatorio-0.10.0/examples/common.py     2018-08-18 13:27:26.000000000 
+0200
+++ new/relatorio-0.10.1/examples/common.py     2021-12-18 01:59:33.000000000 
+0100
@@ -1,4 +1,4 @@
-from os.path import join, dirname
+from os.path import dirname, join
 
 
 class Invoice(dict):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/examples/demo_chart.py 
new/relatorio-0.10.1/examples/demo_chart.py
--- old/relatorio-0.10.0/examples/demo_chart.py 2018-08-18 13:27:26.000000000 
+0200
+++ new/relatorio-0.10.1/examples/demo_chart.py 2021-12-18 01:59:33.000000000 
+0100
@@ -1,9 +1,10 @@
-from os.path import abspath, join, dirname
-from relatorio import Report
+from os.path import abspath, dirname, join
 
 # test data
 from common import inv
 
+from relatorio import Report
+
 if __name__ == '__main__':
     pie_report = Report(abspath(join(dirname(__file__), 'pie_chart')),
             'image/png')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/examples/demo_context.py 
new/relatorio-0.10.1/examples/demo_context.py
--- old/relatorio-0.10.0/examples/demo_context.py       2021-09-10 
11:23:00.000000000 +0200
+++ new/relatorio-0.10.1/examples/demo_context.py       2021-12-18 
01:59:33.000000000 +0100
@@ -1,10 +1,11 @@
 
-from os.path import abspath, join, dirname
-from relatorio import Report
+from os.path import abspath, dirname, join
 
 # test data
 from common import inv
 
+from relatorio import Report
+
 # PDF
 if __name__ == '__main__':
     print("generating output_basic.pdf... ", end='')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/examples/demo_odf.py 
new/relatorio-0.10.1/examples/demo_odf.py
--- old/relatorio-0.10.0/examples/demo_odf.py   2021-09-10 11:23:00.000000000 
+0200
+++ new/relatorio-0.10.1/examples/demo_odf.py   2021-12-18 01:59:33.000000000 
+0100
@@ -1,11 +1,12 @@
 
-from os.path import abspath, join, dirname
-from relatorio import Report
-from relatorio.templates import opendocument
+from os.path import abspath, dirname, join
 
 # test data
 from common import inv
 
+from relatorio import Report
+from relatorio.templates import opendocument
+
 ODT_MIME = 'application/vnd.oasis.opendocument.text'
 ODS_MIME = 'application/vnd.oasis.opendocument.spreadsheet'
 ODP_MIME = 'application/vnd.oasis.opendocument.presentation'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/examples/demo_repository.py 
new/relatorio-0.10.1/examples/demo_repository.py
--- old/relatorio-0.10.0/examples/demo_repository.py    2021-09-10 
11:23:00.000000000 +0200
+++ new/relatorio-0.10.1/examples/demo_repository.py    2021-12-18 
01:59:33.000000000 +0100
@@ -1,7 +1,9 @@
 
-import relatorio
+from os.path import dirname, join
+
 from common import Invoice, inv
-from os.path import join, dirname
+
+import relatorio
 
 ODT_MIME = 'application/vnd.oasis.opendocument.text'
 ODS_MIME = 'application/vnd.oasis.opendocument.spreadsheet'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/__init__.py 
new/relatorio-0.10.1/relatorio/__init__.py
--- old/relatorio-0.10.0/relatorio/__init__.py  2021-09-11 23:10:01.000000000 
+0200
+++ new/relatorio-0.10.1/relatorio/__init__.py  2021-12-18 01:59:33.000000000 
+0100
@@ -9,8 +9,8 @@
 relatorio also provides a report repository allowing you to link python objects
 and report together, find reports by mimetypes/name/python objects.
 """
-from .reporting import MIMETemplateLoader, ReportRepository, Report
 from . import templates
+from .reporting import MIMETemplateLoader, Report, ReportRepository
 
-__version__ = '0.10.0'
+__version__ = '0.10.1'
 __all__ = ['MIMETemplateLoader', 'ReportRepository', 'Report', 'templates']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/templates/base.py 
new/relatorio-0.10.1/relatorio/templates/base.py
--- old/relatorio-0.10.0/relatorio/templates/base.py    2021-08-12 
23:08:56.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/templates/base.py    2021-12-18 
01:59:34.000000000 +0100
@@ -1,7 +1,7 @@
 # This file is part of relatorio.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 import genshi.core
-from genshi.template import NewTextTemplate, MarkupTemplate
+from genshi.template import MarkupTemplate, NewTextTemplate
 
 from relatorio.reporting import MIMETemplateLoader
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/templates/chart.py 
new/relatorio-0.10.1/relatorio/templates/chart.py
--- old/relatorio-0.10.0/relatorio/templates/chart.py   2021-08-12 
23:08:56.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/templates/chart.py   2021-12-18 
01:59:33.000000000 +0100
@@ -6,16 +6,16 @@
 import genshi.output
 from genshi.template import NewTextTemplate
 
-from relatorio.templates.base import RelatorioStream
 from relatorio.reporting import MIMETemplateLoader
+from relatorio.templates.base import RelatorioStream
 
 try:
-    import yaml
     import cairo
     import pycha
-    import pycha.pie
-    import pycha.line
     import pycha.bar
+    import pycha.line
+    import pycha.pie
+    import yaml
 
     PYCHA_TYPE = {'pie': pycha.pie.PieChart,
                   'vbar': pycha.bar.VerticalBarChart,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/templates/opendocument.py 
new/relatorio-0.10.1/relatorio/templates/opendocument.py
--- old/relatorio-0.10.0/relatorio/templates/opendocument.py    2021-09-10 
11:25:31.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/templates/opendocument.py    2021-12-18 
01:59:34.000000000 +0100
@@ -1,6 +1,7 @@
 # This file is part of relatorio.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 import re
+
 try:
     # requires python 2.5+
     from hashlib import md5
@@ -8,31 +9,30 @@
     from md5 import md5
 
 import base64
+import datetime
 import mimetypes
 import sys
 import time
 import urllib.parse
+import warnings
 import zipfile
-from io import BytesIO
 from copy import deepcopy
-import datetime
 from decimal import Decimal
+from io import BytesIO
 
-
-import warnings
-
-import lxml.etree
 import genshi
 import genshi.output
-from genshi.template import MarkupTemplate
+import lxml.etree
+from genshi.core import Stream
 from genshi.filters import Transformer
 from genshi.filters.transform import ENTER, EXIT
-from genshi.core import Stream
+from genshi.template import MarkupTemplate
 from genshi.template.interpolation import PREFIX
 
 import relatorio
+from relatorio.reporting import MIMETemplateLoader, Report
 from relatorio.templates.base import RelatorioStream
-from relatorio.reporting import Report, MIMETemplateLoader
+
 try:
     from relatorio.templates.chart import Template as ChartTemplate
 except ImportError:
@@ -399,7 +399,9 @@
             if not statement.text:
                 warn_msg = "No statement text in '%s' for '%s'" \
                            % (self.filepath, expr)
-            elif expr != statement.text and statement.tag == text_a:
+            elif (directive != 'attrs'
+                    and expr != statement.text
+                    and statement.tag == text_a):
                 warn_msg = "url and text do not match in %s: %s != %s" \
                            % (self.filepath, expr, statement.text)
             if warn_msg:
@@ -560,7 +562,8 @@
                 parent.attrib[py_attr] = a_val
 
                 # remove the directive node
-                r_node.getparent().remove(r_node)
+                if parent != r_node:
+                    remove_node_keeping_tail(r_node)
             else:
                 def has_style(node):
                     return any(attr in node.attrib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/templates/pdf.py 
new/relatorio-0.10.1/relatorio/templates/pdf.py
--- old/relatorio-0.10.0/relatorio/templates/pdf.py     2021-08-12 
23:08:56.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/templates/pdf.py     2021-12-18 
01:59:33.000000000 +0100
@@ -2,16 +2,16 @@
 # this repository contains the full copyright notices and license terms.
 import os
 import shutil
-import tempfile
 import subprocess
+import tempfile
 from io import BytesIO
 
 import genshi
 import genshi.output
 from genshi.template import NewTextTemplate
 
-from relatorio.templates.base import RelatorioStream
 from relatorio.reporting import MIMETemplateLoader
+from relatorio.templates.base import RelatorioStream
 
 __metaclass__ = type
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/tests/__init__.py 
new/relatorio-0.10.1/relatorio/tests/__init__.py
--- old/relatorio-0.10.0/relatorio/tests/__init__.py    2021-08-12 
23:08:56.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/tests/__init__.py    2022-04-17 
01:11:42.000000000 +0200
@@ -1,31 +1,2 @@
 # This file is part of relatorio.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-import sys
-import os
-import unittest
-
-here = os.path.dirname(__file__)
-
-
-def test_suite():
-    suite = unittest.TestSuite()
-    loader = unittest.TestLoader()
-    for fn in os.listdir(here):
-        if fn.startswith('test') and fn.endswith('.py'):
-            modname = 'relatorio.tests.' + fn[:-3]
-            __import__(modname)
-            module = sys.modules[modname]
-            suite.addTests(loader.loadTestsFromModule(module))
-    return suite
-
-
-def main():
-    suite = test_suite()
-    runner = unittest.TextTestRunner()
-    runner.run(suite)
-
-
-if __name__ == '__main__':
-    sys.path.insert(0, os.path.dirname(os.path.dirname(
-                os.path.dirname(os.path.abspath(__file__)))))
-    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/tests/test_api.py 
new/relatorio-0.10.1/relatorio/tests/test_api.py
--- old/relatorio-0.10.0/relatorio/tests/test_api.py    2021-09-10 
11:23:00.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/tests/test_api.py    2021-12-18 
01:59:34.000000000 +0100
@@ -3,8 +3,9 @@
 import os
 import unittest
 
-from relatorio.reporting import (ReportRepository, Report, MIMETemplateLoader,
-                                 DefaultFactory, _absolute, _guess_type)
+from relatorio.reporting import (
+    DefaultFactory, MIMETemplateLoader, Report, ReportRepository, _absolute,
+    _guess_type)
 
 
 class StubObject(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio/tests/test_odt.py 
new/relatorio-0.10.1/relatorio/tests/test_odt.py
--- old/relatorio-0.10.0/relatorio/tests/test_odt.py    2021-09-10 
11:25:51.000000000 +0200
+++ new/relatorio-0.10.1/relatorio/tests/test_odt.py    2021-12-18 
01:59:34.000000000 +0100
@@ -3,16 +3,16 @@
 # this repository contains the full copyright notices and license terms.
 import os
 import unittest
-from io import StringIO, BytesIO
+from io import BytesIO, StringIO
 
 import lxml.etree
-from genshi.filters import Translator
 from genshi.core import PI
+from genshi.filters import Translator
 from genshi.template.eval import UndefinedError
 
-from relatorio.templates.opendocument import Template, GENSHI_EXPR,\
-    GENSHI_URI, RELATORIO_URI, fod2od, remove_node_keeping_tail, \
-    escape_xml_invalid_chars
+from relatorio.templates.opendocument import (
+    GENSHI_EXPR, GENSHI_URI, RELATORIO_URI, Template, escape_xml_invalid_chars,
+    fod2od, remove_node_keeping_tail)
 
 OO_TABLE_NS = "urn:oasis:names:tc:opendocument:xmlns:table:1.0"
 
@@ -176,6 +176,35 @@
             child.get('{http://genshi.edgewall.org/}replace'),
             '__relatorio_escape_invalid_chars(foo)')
 
+    def test_directives_with_tail(self):
+        "Testing directives with tail"
+        xml = b'''<xml xmlns:text="urn:text">
+                    <text:p>before
+                        <text:placeholder>&lt;attrs 
text:p=&quot;{}&quot;&gt;</text:placeholder>
+                        after
+                    </text:p>
+                </xml>'''
+        interpolated = self.oot.insert_directives(xml)
+        root_interpolated = lxml.etree.parse(interpolated).getroot()
+        paragraph = root_interpolated[0]
+        self.assertEqual(len(paragraph), 0)
+        self.assertEqual(
+            ''.join(map(str.strip, paragraph.text.split())), 'beforeafter')
+
+    def test_directives_on_self(self):
+        "Testing directive that applies on itself"
+        xml = b'''<xml xmlns:text="urn:text" xmlns:xlink="urn:xlink">
+                    <text:a xlink:href="relatorio://attrs 
text:a=&quot;{'{urn:xlink}href': 'foo'}&quot;">
+                    test
+                    </text:a>
+                </xml>'''
+        interpolated = self.oot.insert_directives(xml)
+        root_interpolated = lxml.etree.parse(interpolated).getroot()
+        child = root_interpolated[0]
+        self.assertEqual(
+            child.get('{http://genshi.edgewall.org/}attrs'),
+            "{'{urn:xlink}href': 'foo'}")
+
     def test_column_looping(self):
         xml = b'''
 <table:table
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio.egg-info/PKG-INFO 
new/relatorio-0.10.1/relatorio.egg-info/PKG-INFO
--- old/relatorio-0.10.0/relatorio.egg-info/PKG-INFO    2021-09-11 
23:25:21.000000000 +0200
+++ new/relatorio-0.10.1/relatorio.egg-info/PKG-INFO    2022-05-02 
11:37:29.000000000 +0200
@@ -1,31 +1,16 @@
 Metadata-Version: 2.1
 Name: relatorio
-Version: 0.10.0
+Version: 0.10.1
 Summary: A templating library able to output odt and pdf files
 Home-page: https://pypi.python.org/pypi/relatorio
+Download-URL: https://downloads.tryton.org/relatorio/
 Author: Tryton
 Author-email: relato...@tryton.org
 License: GPL License
-Download-URL: https://downloads.tryton.org/relatorio/
 Project-URL: Bug Tracker, https://relatorio.tryton.org/
 Project-URL: Documentation, https://relatorio.readthedocs.org/
 Project-URL: Forum, https://discuss.tryton.org/tags/relatorio
 Project-URL: Source Code, https://hg.tryton.org/relatorio/
-Description: Relatorio
-        =========
-        
-        Relatorio is a templating library which provides a way to easily 
output several
-        kinds of files (odt, ods, png, svg, ...). Support for more filetypes 
can
-        be easily added by creating plugins for them.
-        
-        Relatorio also provides a report repository allowing you to link 
python objects
-        and report together, find reports by mimetype/name/python object.
-        
-        Documenation
-        ============
-        
-        The documenation is provided at http://relatorio.readthedocs.org/
-        
 Keywords: templating OpenDocument PDF
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
@@ -38,8 +23,27 @@
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: Text Processing
 Requires-Python: >=3.5
 Provides-Extra: chart
 Provides-Extra: fodt
+License-File: LICENSE
+
+Relatorio
+=========
+
+Relatorio is a templating library which provides a way to easily output several
+kinds of files (odt, ods, png, svg, ...). Support for more filetypes can
+be easily added by creating plugins for them.
+
+Relatorio also provides a report repository allowing you to link python objects
+and report together, find reports by mimetype/name/python object.
+
+Documenation
+============
+
+The documenation is provided at http://relatorio.readthedocs.org/
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/relatorio.egg-info/SOURCES.txt 
new/relatorio-0.10.1/relatorio.egg-info/SOURCES.txt
--- old/relatorio-0.10.0/relatorio.egg-info/SOURCES.txt 2021-09-11 
23:25:22.000000000 +0200
+++ new/relatorio-0.10.1/relatorio.egg-info/SOURCES.txt 2022-05-02 
11:37:30.000000000 +0200
@@ -2,6 +2,7 @@
 .flake8
 .hgignore
 .hgtags
+.isort.cfg
 CHANGELOG
 COPYRIGHT
 LICENSE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/setup.py 
new/relatorio-0.10.1/setup.py
--- old/relatorio-0.10.0/setup.py       2021-09-10 13:44:20.000000000 +0200
+++ new/relatorio-0.10.1/setup.py       2022-04-17 01:10:16.000000000 +0200
@@ -1,7 +1,8 @@
+import codecs
 import os
 import re
-import codecs
-from setuptools import setup, find_packages
+
+from setuptools import find_packages, setup
 
 
 def read(fname):
@@ -58,9 +59,8 @@
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
         'Programming Language :: Python :: 3.9',
+        'Programming Language :: Python :: 3.10',
         "Topic :: Software Development :: Libraries :: Python Modules",
         "Topic :: Text Processing",
-    ],
-    test_suite="relatorio.tests",
-    tests_require=['python-magic'],
+        ],
     )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/relatorio-0.10.0/tox.ini new/relatorio-0.10.1/tox.ini
--- old/relatorio-0.10.0/tox.ini        2021-09-10 11:27:11.000000000 +0200
+++ new/relatorio-0.10.1/tox.ini        2022-04-17 01:10:05.000000000 +0200
@@ -4,10 +4,14 @@
 # and then run "tox" from this directory.
 
 [tox]
-envlist = py35, py36, py37, py38, py39, pypy3
+envlist = py35, py36, py37, py38, py39, py310, pypy3
 
 [testenv]
-commands = {envpython} setup.py test
+extras = fodt
+commands =
+    coverage run -m unittest discover -s relatorio.tests
+    coverage report --include=./relatorio/* --omit=*/tests/*
 deps =
+    coverage
     pyyaml
     pycha

Reply via email to