Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-yaql for openSUSE:Factory 
checked in at 2024-12-18 20:10:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-yaql (Old)
 and      /work/SRC/openSUSE:Factory/.python-yaql.new.29675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-yaql"

Wed Dec 18 20:10:22 2024 rev:15 rq:1231829 version:3.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-yaql/python-yaql.changes  2022-10-17 
14:58:07.130141019 +0200
+++ /work/SRC/openSUSE:Factory/.python-yaql.new.29675/python-yaql.changes       
2024-12-18 20:11:37.893028971 +0100
@@ -1,0 +2,20 @@
+Fri May 10 08:42:45 UTC 2024 - cloud-de...@suse.de
+
+- update to version 3.0.0
+  - Use py3 as the default runtime for tox
+  - Update python classifier in setup.cfg
+  - Publish release notes
+  - Restore Python 3.6/7 support
+  - Replace assertItemsEqual with assertCountEqual
+  - [community goal] Update contributor documentation
+  - Stop using deprecated 'message' attribute in Exception
+  - Drop direct execution of run.py
+  - Remove format function
+  - Update CI to use unversioned jobs template
+  - Bump hacking
+  - Migrate from testr to stestr
+  - Remove translation sections from setup.cfg
+  - Remove shebang from setup.py
+  - setup.cfg: Replace dashes by underscores
+
+-------------------------------------------------------------------

Old:
----
  yaql-2.0.0.tar.gz

New:
----
  yaql-3.0.0.tar.gz

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

Other differences:
------------------
++++++ python-yaql.spec ++++++
--- /var/tmp/diff_new_pack.UBORip/_old  2024-12-18 20:11:38.405050315 +0100
+++ /var/tmp/diff_new_pack.UBORip/_new  2024-12-18 20:11:38.405050315 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-yaql
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,13 +18,13 @@
 
 %global oldpython python
 Name:           python-yaql
-Version:        2.0.0
+Version:        3.0.0
 Release:        0
 Summary:        YAQL - Yet Another Query Language
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://docs.openstack.org/yaql
-Source0:        
https://files.pythonhosted.org/packages/source/y/yaql/yaql-2.0.0.tar.gz
+Source0:        
https://files.pythonhosted.org/packages/source/y/yaql/yaql-3.0.0.tar.gz
 BuildRequires:  openstack-macros
 # for testing
 BuildRequires:  python3-Sphinx
@@ -33,7 +33,8 @@
 BuildRequires:  python3-ply
 BuildRequires:  python3-python-dateutil
 BuildRequires:  python3-python-subunit
-BuildRequires:  python3-testrepository
+BuildRequires:  python3-setuptools
+BuildRequires:  python3-stestr
 BuildRequires:  python3-testscenarios
 BuildRequires:  python3-testtools
 BuildArch:      noarch
@@ -62,7 +63,7 @@
 This package contains the Python 3.x module.
 
 %prep
-%autosetup -p1 -n yaql-2.0.0
+%autosetup -p1 -n yaql-3.0.0
 %py_req_cleanup
 
 %build
@@ -72,7 +73,7 @@
 %{py3_install}
 
 %check
-PYTHON=python3 python3 setup.py testr
+%{openstack_stestr_run}
 
 %files -n python3-yaql
 %license LICENSE

++++++ _service ++++++
--- /var/tmp/diff_new_pack.UBORip/_old  2024-12-18 20:11:38.441051815 +0100
+++ /var/tmp/diff_new_pack.UBORip/_new  2024-12-18 20:11:38.445051982 +0100
@@ -1,12 +1,12 @@
 <services>
-  <service mode="disabled" name="renderspec">
+  <service mode="manual" name="renderspec">
     <param 
name="input-template">https://opendev.org/openstack/rpm-packaging/raw/master/openstack/yaql/yaql.spec.j2</param>
     <param name="output-name">python-yaql.spec</param>
     <param name="changelog-email">cloud-de...@suse.de</param>
     <param name="changelog-provider">gh,openstack,yaql</param>
   </service>
-  <service mode="disabled" name="download_files">
+  <service mode="manual" name="download_files">
   </service>
-  <service name="format_spec_file" mode="disabled"/>
+  <service name="format_spec_file" mode="manual"/>
 </services>
 

++++++ yaql-2.0.0.tar.gz -> yaql-3.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/.stestr.conf new/yaql-3.0.0/.stestr.conf
--- old/yaql-2.0.0/.stestr.conf 1970-01-01 01:00:00.000000000 +0100
+++ new/yaql-3.0.0/.stestr.conf 2024-03-14 18:25:23.000000000 +0100
@@ -0,0 +1,3 @@
+[DEFAULT]
+test_path=./yaql/tests
+top_dir=./
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/.testr.conf new/yaql-3.0.0/.testr.conf
--- old/yaql-2.0.0/.testr.conf  2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/.testr.conf  1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-[DEFAULT]
-test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
-             OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
-             OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-60} \
-             ${PYTHON:-python} -m subunit.run discover -t ./ . $LISTOPT 
$IDOPTION
-test_id_option=--load-list $IDFILE
-test_list_option=--list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/.zuul.yaml new/yaql-3.0.0/.zuul.yaml
--- old/yaql-2.0.0/.zuul.yaml   2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/.zuul.yaml   2024-03-14 18:25:23.000000000 +0100
@@ -1,4 +1,5 @@
 - project:
     templates:
       - build-openstack-docs-pti
-      - openstack-python3-ussuri-jobs
+      - openstack-python3-jobs
+      - release-notes-jobs-python3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/AUTHORS new/yaql-3.0.0/AUTHORS
--- old/yaql-2.0.0/AUTHORS      2021-07-12 12:44:11.000000000 +0200
+++ new/yaql-3.0.0/AUTHORS      2024-03-14 18:25:54.000000000 +0100
@@ -24,6 +24,8 @@
 Stephen Finucane <stephen...@redhat.com>
 Steven Hardy <sha...@redhat.com>
 Swapnil Kulkarni (coolsvap) <m...@coolsvap.net>
+Takashi Kajinami <kajina...@oss.nttdata.com>
+Takashi Kajinami <tkaji...@redhat.com>
 Tetiana Lashchova <tlashch...@mirantis.com>
 Thomas Goirand <tho...@goirand.fr>
 Timur Sufiev <tsuf...@mirantis.com>
@@ -36,8 +38,10 @@
 gecong1973 <ge.c...@zte.com.cn>
 huang.zhiping <huang.zhip...@99cloud.net>
 janonymous <janonymous.codevult...@gmail.com>
+kavithahr <kavith...@nectechnologies.in>
 nizam <abdul.nizamud...@nectechnologies.in>
 oshykhkerimov <oshykhkeri...@mirantis.com>
 qingszhao <zhao.daq...@99cloud.net>
 ypbao <yp...@fiberhome.com>
+zhangboye <zhangb...@inspur.com>
 zhurong <aaronzhu1...@gmail.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/CONTRIBUTING.rst 
new/yaql-3.0.0/CONTRIBUTING.rst
--- old/yaql-2.0.0/CONTRIBUTING.rst     2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/CONTRIBUTING.rst     2024-03-14 18:25:23.000000000 +0100
@@ -1,16 +1,19 @@
-If you would like to contribute to the development of OpenStack,
-you must follow the steps in this page:
+The source repository for this project can be found at:
 
-   http://docs.openstack.org/infra/manual/developers.html
+   https://opendev.org/openstack/yaql
 
-Once those steps have been completed, changes to OpenStack
-should be submitted for review via the Gerrit tool, following
-the workflow documented at:
+Pull requests submitted through GitHub are not monitored.
 
-   http://docs.openstack.org/infra/manual/developers.html#development-workflow
+To start contributing to OpenStack, follow the steps in the contribution guide
+to set up and use Gerrit:
 
-Pull requests submitted through GitHub will be ignored.
+   
https://docs.openstack.org/contributors/code-and-documentation/quick-start.html
 
-Bugs should be filed on Launchpad, not GitHub:
+Bugs should be filed on Launchpad:
 
-   https://bugs.launchpad.net/yaql
\ No newline at end of file
+   https://bugs.launchpad.net/yaql
+
+For more specific information about contributing to this repository, see the
+yaql contributor guide:
+
+   https://docs.openstack.org/yaql/latest/contributor/contributing.html
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/ChangeLog new/yaql-3.0.0/ChangeLog
--- old/yaql-2.0.0/ChangeLog    2021-07-12 12:44:11.000000000 +0200
+++ new/yaql-3.0.0/ChangeLog    2024-03-14 18:25:54.000000000 +0100
@@ -1,6 +1,29 @@
 CHANGES
 =======
 
+3.0.0
+-----
+
+* Restore Python 3.6/7 support
+* Remove format function
+* Publish release notes
+* Bump hacking
+
+2.0.1
+-----
+
+* Remove shebang from setup.py
+* Drop direct execution of run.py
+* Stop using deprecated 'message' attribute in Exception
+* Update python classifier in setup.cfg
+* Remove translation sections from setup.cfg
+* Update CI to use unversioned jobs template
+* setup.cfg: Replace dashes by underscores
+* [community goal] Update contributor documentation
+* Use py3 as the default runtime for tox
+* Replace assertItemsEqual with assertCountEqual
+* Migrate from testr to stestr
+
 2.0.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/PKG-INFO new/yaql-3.0.0/PKG-INFO
--- old/yaql-2.0.0/PKG-INFO     2021-07-12 12:44:12.172927100 +0200
+++ new/yaql-3.0.0/PKG-INFO     2024-03-14 18:25:54.765190400 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: yaql
-Version: 2.0.0
+Version: 3.0.0
 Summary: YAQL - Yet Another Query Language
 Home-page: http://yaql.readthedocs.io
 Author: OpenStack
@@ -72,4 +72,8 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 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: Programming Language :: Python :: 3.11
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/babel.cfg new/yaql-3.0.0/babel.cfg
--- old/yaql-2.0.0/babel.cfg    2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/babel.cfg    1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-[python: **.py]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/doc/source/contributing.rst 
new/yaql-3.0.0/doc/source/contributing.rst
--- old/yaql-2.0.0/doc/source/contributing.rst  2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/doc/source/contributing.rst  1970-01-01 01:00:00.000000000 
+0100
@@ -1,4 +0,0 @@
-============
-Contributing
-============
-.. include:: ../../CONTRIBUTING.rst
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/doc/source/contributor/contributing.rst 
new/yaql-3.0.0/doc/source/contributor/contributing.rst
--- old/yaql-2.0.0/doc/source/contributor/contributing.rst      1970-01-01 
01:00:00.000000000 +0100
+++ new/yaql-3.0.0/doc/source/contributor/contributing.rst      2024-03-14 
18:25:23.000000000 +0100
@@ -0,0 +1,47 @@
+============================
+So You Want to Contribute...
+============================
+For general information on contributing to OpenStack, please check out the
+`contributor guide <https://docs.openstack.org/contributors/>`_ to get started.
+It covers all the basics that are common to all OpenStack projects: the 
accounts
+you need, the basics of interacting with our Gerrit review system, how we
+communicate as a community, etc.
+Below will cover the more project specific information you need to get started
+with yaql.
+
+Communication
+~~~~~~~~~~~~~
+* IRC channel #murano at OFTC
+* Mailing list (prefix subjects with ``[murano]`` for faster responses)
+  http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss
+
+Contacting the Core Team
+~~~~~~~~~~~~~~~~~~~~~~~~
+Please refer the `yaql Core Team
+<https://review.opendev.org/admin/groups/cba4f6fd54c3cc0d5706fc50b5ebd758860d02b8,members>`_
 contacts.
+
+New Feature Planning
+~~~~~~~~~~~~~~~~~~~~
+yaql features are tracked on `Launchpad <https://bugs.launchpad.net/yaql>`_.
+
+Task Tracking
+~~~~~~~~~~~~~
+We track our tasks in `Launchpad <https://bugs.launchpad.net/yaql>`_.
+If you're looking for some smaller, easier work item to pick up and get started
+on, search for the 'low-hanging-fruit' tag.
+
+Reporting a Bug
+~~~~~~~~~~~~~~~
+You found an issue and want to make sure we are aware of it? You can do so on
+`Launchpad <https://bugs.launchpad.net/yaql>`_.
+
+Getting Your Patch Merged
+~~~~~~~~~~~~~~~~~~~~~~~~~
+All changes proposed to the yaql project require one or two +2 votes
+from yaql core reviewers before one of the core reviewers can approve
+patch by giving ``Workflow +1`` vote.
+
+Project Team Lead Duties
+~~~~~~~~~~~~~~~~~~~~~~~~
+All common PTL duties are enumerated in the `PTL guide
+<https://docs.openstack.org/project-team-guide/ptl.html>`_.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/doc/source/index.rst 
new/yaql-3.0.0/doc/source/index.rst
--- old/yaql-2.0.0/doc/source/index.rst 2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/doc/source/index.rst 2024-03-14 18:25:23.000000000 +0100
@@ -24,8 +24,12 @@
 
    standard_library
 
-.. toctree::
+For Contributors
+================
 
-   contributing
+* If you are a new contributor to Yaql please refer: 
:doc:`contributor/contributing`
 
+  .. toctree::
+     :hidden:
 
+     contributor/contributing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/yaql-2.0.0/releasenotes/notes/bug-2048114-0968eea052838381.yaml 
new/yaql-3.0.0/releasenotes/notes/bug-2048114-0968eea052838381.yaml
--- old/yaql-2.0.0/releasenotes/notes/bug-2048114-0968eea052838381.yaml 
1970-01-01 01:00:00.000000000 +0100
+++ new/yaql-3.0.0/releasenotes/notes/bug-2048114-0968eea052838381.yaml 
2024-03-14 18:25:23.000000000 +0100
@@ -0,0 +1,12 @@
+---
+upgrade:
+  - |
+    The format YAQL function has been removed, because of its vulnability. See
+    the security section to find more details.
+
+security:
+  - |
+    `<https://bugs.launchpad.net/murano/+bug/2048114>`_: The format YAQL
+    function has been removed, because it allowed too arbitrary data access
+    which results in data leak. Users can replace the format function by
+    ``+`` operator and ``str`` YAQL function.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/releasenotes/source/conf.py 
new/yaql-3.0.0/releasenotes/source/conf.py
--- old/yaql-2.0.0/releasenotes/source/conf.py  2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/releasenotes/source/conf.py  2024-03-14 18:25:23.000000000 
+0100
@@ -38,7 +38,7 @@
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
 extensions = [
-    'oslosphinx',
+    'openstackdocstheme',
     'reno.sphinxext',
 ]
 
@@ -114,7 +114,7 @@
 
 # The theme to use for HTML and HTML Help pages.  See the documentation for
 # a list of builtin themes.
-html_theme = 'default'
+html_theme = 'openstackdocs'
 
 # Theme options are theme-specific and customize the look and feel of a theme
 # further.  For a list of options available for each theme, see the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/releasenotes/source/index.rst 
new/yaql-3.0.0/releasenotes/source/index.rst
--- old/yaql-2.0.0/releasenotes/source/index.rst        2021-07-12 
12:41:55.000000000 +0200
+++ new/yaql-3.0.0/releasenotes/source/index.rst        2024-03-14 
18:25:23.000000000 +0100
@@ -6,5 +6,3 @@
    :maxdepth: 2
 
    unreleased
-   mitaka
-   liberty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/releasenotes/source/liberty.rst 
new/yaql-3.0.0/releasenotes/source/liberty.rst
--- old/yaql-2.0.0/releasenotes/source/liberty.rst      2021-07-12 
12:41:55.000000000 +0200
+++ new/yaql-3.0.0/releasenotes/source/liberty.rst      1970-01-01 
01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-==============================
- Liberty Series Release Notes
-==============================
-
-.. release-notes::
-   :branch: origin/stable/liberty
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/releasenotes/source/mitaka.rst 
new/yaql-3.0.0/releasenotes/source/mitaka.rst
--- old/yaql-2.0.0/releasenotes/source/mitaka.rst       2021-07-12 
12:41:55.000000000 +0200
+++ new/yaql-3.0.0/releasenotes/source/mitaka.rst       1970-01-01 
01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-===================================
- Mitaka Series Release Notes
-===================================
-
-.. release-notes::
-   :branch: origin/stable/mitaka
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/setup.cfg new/yaql-3.0.0/setup.cfg
--- old/yaql-2.0.0/setup.cfg    2021-07-12 12:44:12.176927000 +0200
+++ new/yaql-3.0.0/setup.cfg    2024-03-14 18:25:54.765190400 +0100
@@ -1,12 +1,12 @@
 [metadata]
 name = yaql
 summary = YAQL - Yet Another Query Language
-description-file = 
+description_file = 
        README.rst
 author = OpenStack
-author-email = openstack-disc...@lists.openstack.org
-home-page = http://yaql.readthedocs.io
-python-requires = >=3.6
+author_email = openstack-disc...@lists.openstack.org
+home_page = http://yaql.readthedocs.io
+python_requires = >=3.6
 classifier = 
        Environment :: OpenStack
        Intended Audience :: Information Technology
@@ -19,25 +19,15 @@
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3.8
+       Programming Language :: Python :: 3.9
+       Programming Language :: Python :: 3.10
+       Programming Language :: Python :: 3.11
 
 [files]
 packages = 
        yaql
 
-[compile_catalog]
-directory = yaql/locale
-domain = yaql
-
-[update_catalog]
-domain = yaql
-output_dir = yaql/locale
-input_file = yaql/locale/yaql.pot
-
-[extract_messages]
-keywords = _ gettext ngettext l_ lazy_gettext
-mapping_file = babel.cfg
-output_file = yaql/locale/yaql.pot
-
 [entry_points]
 console_scripts = 
        yaql = yaql.cli.run:main
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/setup.py new/yaql-3.0.0/setup.py
--- old/yaql-2.0.0/setup.py     2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/setup.py     2024-03-14 18:25:23.000000000 +0100
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/test-requirements.txt 
new/yaql-3.0.0/test-requirements.txt
--- old/yaql-2.0.0/test-requirements.txt        2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/test-requirements.txt        2024-03-14 18:25:23.000000000 
+0100
@@ -1,8 +1,6 @@
-hacking>=3.0.1,<3.1.0 # Apache-2.0
+hacking>=6.1.0,<6.2.0 # Apache-2.0
 
 coverage>=3.6
 fixtures>=1.3.1
-python-subunit>=0.0.18
-testrepository>=0.0.18
-testscenarios>=0.4
 testtools>=1.4.0
+stestr>=2.0.0 # Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/tox.ini new/yaql-3.0.0/tox.ini
--- old/yaql-2.0.0/tox.ini      2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/tox.ini      2024-03-14 18:25:23.000000000 +0100
@@ -1,15 +1,25 @@
 [tox]
 minversion = 3.1
-envlist = py37,pypy,pep8
+envlist = py3,pypy,pep8
 skipsdist = True
 ignore_basepython_conflict = True
 
 [testenv]
 basepython = python3
 usedevelop = True
-deps = -r{toxinidir}/requirements.txt
-       -r{toxinidir}/test-requirements.txt
-commands = python setup.py testr --slowest --testr-args='{posargs}'
+setenv =
+  LANGUAGE=en_US
+  LC_ALL=en_US.utf-8
+  OS_STDOUT_CAPTURE=1
+  OS_STDERR_CAPTURE=1
+  OS_TEST_TIMEOUT=60
+  PYTHONDONTWRITEBYTECODE=1
+deps =
+  -r{toxinidir}/requirements.txt
+  -r{toxinidir}/test-requirements.txt
+commands =
+  stestr run {posargs}
+  stestr slowest
 
 [testenv:pep8]
 commands = flake8
@@ -18,14 +28,24 @@
 commands = {posargs}
 
 [testenv:cover]
-commands = python setup.py testr --coverage --testr-args='{posargs}'
+setenv =
+  {[testenv]setenv}
+  PYTHON=coverage run --source yaql --parallel-mode
+commands =
+  coverage erase
+  stestr run {posargs}
+  coverage combine
+  coverage html -d cover
+  coverage xml -o cover/coverage.xml
+  coverage report
 
 [testenv:docs]
 deps = -r{toxinidir}/doc/requirements.txt
-commands = sphinx-build -a -E -W -d doc/build/doctrees -b html doc/source 
doc/build/html
+commands = sphinx-build -a -E -W -b html doc/source doc/build/html
 
 [testenv:releasenotes]
-commands = sphinx-build -a -E -d releasenotes/build/doctrees -b html 
releasenotes/source releasenotes/build/html
+deps = -r{toxinidir}/doc/requirements.txt
+commands = sphinx-build -a -E -b html releasenotes/source 
releasenotes/build/html
 
 [flake8]
 # H803 skipped on purpose per list discussion.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/cli/cli_functions.py 
new/yaql-3.0.0/yaql/cli/cli_functions.py
--- old/yaql-2.0.0/yaql/cli/cli_functions.py    2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/yaql/cli/cli_functions.py    2024-03-14 18:25:23.000000000 
+0100
@@ -72,7 +72,7 @@
             if ex.position:
                 pointer_string = (" " * (ex.position + len(PROMPT))) + '^'
                 print(pointer_string)
-            print(ex.message)
+            print(str(ex))
             continue
         try:
             res = expr.evaluate(context=context)
@@ -90,8 +90,8 @@
         return
     try:
         data = json.loads(json_str)
-    except Exception as e:
-        print('Unable to parse data: ' + e.message)
+    except ValueError as e:
+        print('Unable to parse data: ' + str(e))
         return
     context['$'] = utils.convert_input_data(data)
     print('Data from file {0} loaded into context'.format(data_file))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/cli/run.py 
new/yaql-3.0.0/yaql/cli/run.py
--- old/yaql-2.0.0/yaql/cli/run.py      2021-07-12 12:41:55.000000000 +0200
+++ new/yaql-3.0.0/yaql/cli/run.py      2024-03-14 18:25:23.000000000 +0100
@@ -1,5 +1,4 @@
-#!/usr/bin/env python
-
+#
 #    Copyright (c) 2013-2015 Mirantis, Inc.
 #
 #    Licensed under the Apache License, Version 2.0 (the "License"); you may
@@ -121,7 +120,3 @@
         parser('__main(true)').evaluate(data, context)
     else:
         parser('__main(false)').evaluate(data, context)
-
-
-if __name__ == "__main__":
-    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/standard_library/strings.py 
new/yaql-3.0.0/yaql/standard_library/strings.py
--- old/yaql-2.0.0/yaql/standard_library/strings.py     2021-07-12 
12:41:55.000000000 +0200
+++ new/yaql-3.0.0/yaql/standard_library/strings.py     2024-03-14 
18:25:23.000000000 +0100
@@ -564,38 +564,6 @@
     return string
 
 
-@specs.parameter('__format_string', yaqltypes.String())
-@specs.extension_method
-def format_(__format_string, *args, **kwargs):
-    """:yaql:format
-
-    Returns a string formatted with positional and keyword arguments.
-
-    :signature: string.format([args], {kwargs})
-    :receiverArg string: input string for formatting. Can be passed only as
-        first positional argument if used as a function. Can contain literal
-        text or replacement fields marked by braces {}. Every replacement field
-        should contain either the numeric index of a positional argument or the
-        name of a keyword argument
-    :argType string: string
-    :arg [args]: values for replacements for numeric markers
-    :argType [args]: chain of strings
-    :arg {kwargs}: values for keyword replacements
-    :argType {kwargs}: chain of key-value arguments, where values are strings
-    :returnValue: string
-
-    .. code::
-
-        yaql> "abc{0}ab{1}abc".format(" ", ",")
-        "abc ab,abc"
-        yaql> "abc{foo}ab{bar}abc".format(foo => " ", bar => ",")
-        "abc ab,abc"
-        yaql> format("abc{0}ab{foo}abc", ' ', foo => ",")
-        "abc ab,abc"
-    """
-    return __format_string.format(*args, **kwargs)
-
-
 @specs.parameter('left', yaqltypes.String())
 @specs.parameter('right', int)
 @specs.name('#operator_*')
@@ -1045,7 +1013,6 @@
     context.register_function(trim_right)
     context.register_function(replace)
     context.register_function(replace_with_dict)
-    context.register_function(format_)
     context.register_function(is_empty)
     context.register_function(string_by_int)
     context.register_function(int_by_string)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/tests/test_miscellaneous.py 
new/yaql-3.0.0/yaql/tests/test_miscellaneous.py
--- old/yaql-2.0.0/yaql/tests/test_miscellaneous.py     2021-07-12 
12:41:55.000000000 +0200
+++ new/yaql-3.0.0/yaql/tests/test_miscellaneous.py     2024-03-14 
18:25:23.000000000 +0100
@@ -12,7 +12,9 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+import tempfile
 
+from yaql.cli.cli_functions import load_data
 from yaql.language import exceptions
 from yaql.language import specs
 from yaql.language import yaqltypes
@@ -90,3 +92,21 @@
             self.eval, 'baz1(null)')
         self.assertFalse(self.eval('baz2($)', data=iter([1, 2])))
         self.assertTrue(self.eval('baz2(null)'))
+
+    def test_load_data(self):
+        context = {}
+        self.assertIsNone(load_data('/temporarydir/some_random_filename',
+                                    context))
+        self.assertEqual(context, {})
+
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(b'This is not JSON')
+            f.flush()
+            self.assertIsNone(load_data(f.name, context))
+            self.assertEqual(context, {})
+
+        with tempfile.NamedTemporaryFile() as f:
+            f.write(b'{"foo": "bar"}')
+            f.flush()
+            self.assertIsNone(load_data(f.name, context))
+            self.assertEqual(context['$'], {"foo": "bar"})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/tests/test_regex.py 
new/yaql-3.0.0/yaql/tests/test_regex.py
--- old/yaql-2.0.0/yaql/tests/test_regex.py     2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/yaql/tests/test_regex.py     2024-03-14 18:25:23.000000000 
+0100
@@ -50,9 +50,10 @@
             '24.16 = 24(2-4) + 16(5-7)',
             self.eval(
                 r"regex(`(\d+)\.?(\d+)?`).search("r"'aa24.16bb', "
-                r"format('{0} = {1}({2}-{3}) + {4}({5}-{6})', "
-                r"$.value, $2.value, $2.start, $2.end, "
-                r"$3.value, $3.start, $3.end))"))
+                r"$.value + ' = ' + "
+                r"$2.value + '(' + str($2.start) + '-' + str($2.end) + ') + ' "
+                r"+ $3.value + '(' + str($3.start) + '-' + str($3.end) + ')')"
+            ))
 
     def test_search_all(self):
         self.assertEqual(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql/tests/test_strings.py 
new/yaql-3.0.0/yaql/tests/test_strings.py
--- old/yaql-2.0.0/yaql/tests/test_strings.py   2021-07-12 12:41:55.000000000 
+0200
+++ new/yaql-3.0.0/yaql/tests/test_strings.py   2024-03-14 18:25:23.000000000 
+0100
@@ -118,10 +118,6 @@
     def test_concat_func(self):
         self.assertEqual('abc', self.eval("concat(a, b, c)"))
 
-    def test_format(self):
-        self.assertEqual('a->b', self.eval("'{0}->{x}'.format(a, x => b)"))
-        self.assertEqual('a->b', self.eval("format('{0}->{x}', a, x => b)"))
-
     def test_trim(self):
         self.assertEqual('x', self.eval("'  x  '.trim()"))
         self.assertEqual('x', self.eval("'abxba'.trim(ab)"))
@@ -174,7 +170,7 @@
         self.assertEqual(['a', 'b', 'c'], self.eval('abc.toCharArray()'))
 
     def test_characters(self):
-        self.assertItemsEqual(
+        self.assertCountEqual(
             ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'],
             self.eval('characters(octdigits => true, digits => true)'))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql.egg-info/PKG-INFO 
new/yaql-3.0.0/yaql.egg-info/PKG-INFO
--- old/yaql-2.0.0/yaql.egg-info/PKG-INFO       2021-07-12 12:44:11.000000000 
+0200
+++ new/yaql-3.0.0/yaql.egg-info/PKG-INFO       2024-03-14 18:25:54.000000000 
+0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.2
 Name: yaql
-Version: 2.0.0
+Version: 3.0.0
 Summary: YAQL - Yet Another Query Language
 Home-page: http://yaql.readthedocs.io
 Author: OpenStack
@@ -72,4 +72,8 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 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: Programming Language :: Python :: 3.11
 Requires-Python: >=3.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql.egg-info/SOURCES.txt 
new/yaql-3.0.0/yaql.egg-info/SOURCES.txt
--- old/yaql-2.0.0/yaql.egg-info/SOURCES.txt    2021-07-12 12:44:12.000000000 
+0200
+++ new/yaql-3.0.0/yaql.egg-info/SOURCES.txt    2024-03-14 18:25:54.000000000 
+0100
@@ -1,6 +1,6 @@
 .coveragerc
 .mailmap
-.testr.conf
+.stestr.conf
 .zuul.yaml
 AUTHORS
 CONTRIBUTING.rst
@@ -9,7 +9,6 @@
 LICENSE
 MANIFEST.in
 README.rst
-babel.cfg
 requirements.txt
 setup.cfg
 setup.py
@@ -17,7 +16,6 @@
 tox.ini
 doc/requirements.txt
 doc/source/conf.py
-doc/source/contributing.rst
 doc/source/extending_yaql.rst
 doc/source/getting_started.rst
 doc/source/index.rst
@@ -27,12 +25,12 @@
 doc/source/usage.rst
 doc/source/what_is_yaql.rst
 doc/source/_exts/yaqlautodoc.py
+doc/source/contributor/contributing.rst
 releasenotes/notes/.placeholder
+releasenotes/notes/bug-2048114-0968eea052838381.yaml
 releasenotes/notes/drop-py-2-7-4a209eed5ea87ecd.yaml
 releasenotes/source/conf.py
 releasenotes/source/index.rst
-releasenotes/source/liberty.rst
-releasenotes/source/mitaka.rst
 releasenotes/source/unreleased.rst
 releasenotes/source/_static/.placeholder
 releasenotes/source/_templates/.placeholder
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/yaql-2.0.0/yaql.egg-info/pbr.json 
new/yaql-3.0.0/yaql.egg-info/pbr.json
--- old/yaql-2.0.0/yaql.egg-info/pbr.json       2021-07-12 12:44:11.000000000 
+0200
+++ new/yaql-3.0.0/yaql.egg-info/pbr.json       2024-03-14 18:25:54.000000000 
+0100
@@ -1 +1 @@
-{"git_version": "c3bda9e", "is_release": true}
\ No newline at end of file
+{"git_version": "aa855fc", "is_release": true}
\ No newline at end of file

Reply via email to