Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-invoke for openSUSE:Factory 
checked in at 2022-10-18 12:44:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-invoke (Old)
 and      /work/SRC/openSUSE:Factory/.python-invoke.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-invoke"

Tue Oct 18 12:44:13 2022 rev:15 rq:1011262 version:1.7.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-invoke/python-invoke.changes      
2022-09-25 15:34:41.603534828 +0200
+++ /work/SRC/openSUSE:Factory/.python-invoke.new.2275/python-invoke.changes    
2022-10-18 12:44:18.473629207 +0200
@@ -1,0 +2,12 @@
+Sun Oct 16 17:50:36 UTC 2022 - Dirk M??ller <[email protected]>
+
+- update to 1.7.3:
+  * Fix a non-fatal bug in our setup.py long_description generation causing
+    1.7.0-1.7.2 to have malformed description text on PyPI. 
+  * Fix errors thrown when comparing Task objects to non-Task objects; such
+    comparisons are now always false.
+  * Refactor CLI parser instantiation such that the tasks.ignore_unknown_help
+    feature (added in 1.7) works when Invoke is run in --complete mode, i.e. in
+    tab-completion scripts.
+
+-------------------------------------------------------------------

Old:
----
  invoke-1.7.1.tar.gz

New:
----
  invoke-1.7.3.tar.gz

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

Other differences:
------------------
++++++ python-invoke.spec ++++++
--- /var/tmp/diff_new_pack.KwP0x3/_old  2022-10-18 12:44:19.017630446 +0200
+++ /var/tmp/diff_new_pack.KwP0x3/_new  2022-10-18 12:44:19.025630464 +0200
@@ -21,12 +21,12 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-invoke
-Version:        1.7.1
+Version:        1.7.3
 Release:        0
 Summary:        Pythonic Task Execution
 License:        BSD-2-Clause
 Group:          Development/Languages/Python
-URL:            http://www.pyinvoke.org
+URL:            https://www.pyinvoke.org
 Source:         
https://files.pythonhosted.org/packages/source/i/invoke/invoke-%{version}.tar.gz
 Patch0:         0001-Make-test-fallback-to-system-modules-when-vendorized.patch
 Patch1:         pytest4.patch

++++++ invoke-1.7.1.tar.gz -> invoke-1.7.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/PKG-INFO new/invoke-1.7.3/PKG-INFO
--- old/invoke-1.7.1/PKG-INFO   2022-05-11 18:04:22.000000000 +0200
+++ new/invoke-1.7.3/PKG-INFO   2022-09-30 23:52:17.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: invoke
-Version: 1.7.1
+Version: 1.7.3
 Summary: Pythonic task execution
 Home-page: https://pyinvoke.org
 Author: Jeff Forcier
@@ -12,7 +12,38 @@
 Project-URL: Changelog, https://www.pyinvoke.org/changelog.html
 Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke
 Description: 
-        1.7.1
+        |version| |python| |license| |ci| |coverage|
+        
+        .. |version| image:: https://img.shields.io/pypi/v/invoke
+            :target: https://pypi.org/project/invoke/
+            :alt: PyPI - Package Version
+        .. |python| image:: https://img.shields.io/pypi/pyversions/invoke
+            :target: https://pypi.org/project/invoke/
+            :alt: PyPI - Python Version
+        .. |license| image:: https://img.shields.io/pypi/l/invoke
+            :target: https://github.com/pyinvoke/invoke/blob/main/LICENSE
+            :alt: PyPI - License
+        .. |ci| image:: 
https://img.shields.io/circleci/build/github/pyinvoke/invoke/main
+            :target: https://app.circleci.com/pipelines/github/pyinvoke/invoke
+            :alt: CircleCI
+        .. |coverage| image:: 
https://img.shields.io/codecov/c/gh/pyinvoke/invoke
+            :target: https://app.codecov.io/gh/pyinvoke/invoke
+            :alt: Codecov
+        
+        Welcome to Invoke!
+        ==================
+        
+        Invoke is a Python (2.7 and 3.4+) library for managing shell-oriented
+        subprocesses and organizing executable Python code into CLI-invokable 
tasks. It
+        draws inspiration from various sources (``make``/``rake``, Fabric 1.x, 
etc) to
+        arrive at a powerful & clean feature set.
+        
+        To find out what's new in this version of Invoke, please see `the 
changelog
+        <https://pyinvoke.org/changelog.html#{}>`_.
+        
+        The project maintainer keeps a `roadmap
+        <https://bitprophet.org/projects#roadmap>`_ on his website.
+        
         
         For a high level introduction, including example code, please see `our 
main
         project website <https://pyinvoke.org>`_; or for detailed API docs, 
see `the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke/_version.py 
new/invoke-1.7.3/invoke/_version.py
--- old/invoke-1.7.1/invoke/_version.py 2022-05-11 18:04:21.000000000 +0200
+++ new/invoke-1.7.3/invoke/_version.py 2022-09-30 23:52:02.000000000 +0200
@@ -1,2 +1,2 @@
-__version_info__ = (1, 7, 1)
+__version_info__ = (1, 7, 3)
 __version__ = ".".join(map(str, __version_info__))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke/completion/complete.py 
new/invoke-1.7.3/invoke/completion/complete.py
--- old/invoke-1.7.1/invoke/completion/complete.py      2021-12-23 
22:30:34.000000000 +0100
+++ new/invoke-1.7.3/invoke/completion/complete.py      2022-09-30 
22:03:27.000000000 +0200
@@ -8,20 +8,16 @@
 import shlex
 
 from ..exceptions import Exit, ParseError
-from ..parser import Parser
 from ..util import debug, task_name_sort_key
 
 
-def complete(names, core, initial_context, collection):
+def complete(names, core, initial_context, collection, parser):
     # Strip out program name (scripts give us full command line)
     # TODO: this may not handle path/to/script though?
     invocation = re.sub(r"^({}) ".format("|".join(names)), "", core.remainder)
     debug("Completing for invocation: {!r}".format(invocation))
     # Tokenize (shlex will have to do)
     tokens = shlex.split(invocation)
-    # Make ourselves a parser (can't just reuse original one as it's mutated /
-    # been overwritten)
-    parser = Parser(initial=initial_context, contexts=collection.to_contexts())
     # Handle flags (partial or otherwise)
     if tokens and tokens[-1].startswith("-"):
         tail = tokens[-1]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke/program.py 
new/invoke-1.7.3/invoke/program.py
--- old/invoke-1.7.1/invoke/program.py  2022-03-19 00:43:51.000000000 +0100
+++ new/invoke-1.7.3/invoke/program.py  2022-09-30 22:03:27.000000000 +0200
@@ -523,6 +523,9 @@
                 core=self.core,
                 initial_context=self.initial_context,
                 collection=self.collection,
+                # NOTE: can't reuse self.parser as it has likely been mutated
+                # between when it was set and now.
+                parser=self._make_parser(),
             )
 
         # Fallback behavior if no tasks were given & no default specified
@@ -717,6 +720,14 @@
             if arg.got_value:
                 context.args[key]._value = arg._value
 
+    def _make_parser(self):
+        return Parser(
+            initial=self.initial_context,
+            contexts=self.collection.to_contexts(
+                ignore_unknown_help=self.config.tasks.ignore_unknown_help
+            ),
+        )
+
     def parse_tasks(self):
         """
         Parse leftover args, which are typically tasks & per-task args.
@@ -731,12 +742,7 @@
 
         .. versionadded:: 1.0
         """
-        self.parser = Parser(
-            initial=self.initial_context,
-            contexts=self.collection.to_contexts(
-                ignore_unknown_help=self.config.tasks.ignore_unknown_help
-            ),
-        )
+        self.parser = self._make_parser()
         debug("Parsing tasks against {!r}".format(self.collection))
         result = self.parser.parse_argv(self.core.unparsed)
         self.core_via_tasks = result.pop(0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke/tasks.py 
new/invoke-1.7.3/invoke/tasks.py
--- old/invoke-1.7.1/invoke/tasks.py    2022-03-19 00:43:51.000000000 +0100
+++ new/invoke-1.7.3/invoke/tasks.py    2022-09-30 22:03:27.000000000 +0200
@@ -97,7 +97,7 @@
         return "<Task {!r}{}>".format(self.name, aliases)
 
     def __eq__(self, other):
-        if self.name != other.name:
+        if not isinstance(other, Task) or self.name != other.name:
             return False
         # Functions do not define __eq__ but func_code objects apparently do.
         # (If we're wrapping some other callable, they will be responsible for
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke.egg-info/PKG-INFO 
new/invoke-1.7.3/invoke.egg-info/PKG-INFO
--- old/invoke-1.7.1/invoke.egg-info/PKG-INFO   2022-05-11 18:04:22.000000000 
+0200
+++ new/invoke-1.7.3/invoke.egg-info/PKG-INFO   2022-09-30 23:52:17.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: invoke
-Version: 1.7.1
+Version: 1.7.3
 Summary: Pythonic task execution
 Home-page: https://pyinvoke.org
 Author: Jeff Forcier
@@ -12,7 +12,38 @@
 Project-URL: Changelog, https://www.pyinvoke.org/changelog.html
 Project-URL: CI, https://app.circleci.com/pipelines/github/pyinvoke/invoke
 Description: 
-        1.7.1
+        |version| |python| |license| |ci| |coverage|
+        
+        .. |version| image:: https://img.shields.io/pypi/v/invoke
+            :target: https://pypi.org/project/invoke/
+            :alt: PyPI - Package Version
+        .. |python| image:: https://img.shields.io/pypi/pyversions/invoke
+            :target: https://pypi.org/project/invoke/
+            :alt: PyPI - Python Version
+        .. |license| image:: https://img.shields.io/pypi/l/invoke
+            :target: https://github.com/pyinvoke/invoke/blob/main/LICENSE
+            :alt: PyPI - License
+        .. |ci| image:: 
https://img.shields.io/circleci/build/github/pyinvoke/invoke/main
+            :target: https://app.circleci.com/pipelines/github/pyinvoke/invoke
+            :alt: CircleCI
+        .. |coverage| image:: 
https://img.shields.io/codecov/c/gh/pyinvoke/invoke
+            :target: https://app.codecov.io/gh/pyinvoke/invoke
+            :alt: Codecov
+        
+        Welcome to Invoke!
+        ==================
+        
+        Invoke is a Python (2.7 and 3.4+) library for managing shell-oriented
+        subprocesses and organizing executable Python code into CLI-invokable 
tasks. It
+        draws inspiration from various sources (``make``/``rake``, Fabric 1.x, 
etc) to
+        arrive at a powerful & clean feature set.
+        
+        To find out what's new in this version of Invoke, please see `the 
changelog
+        <https://pyinvoke.org/changelog.html#{}>`_.
+        
+        The project maintainer keeps a `roadmap
+        <https://bitprophet.org/projects#roadmap>`_ on his website.
+        
         
         For a high level introduction, including example code, please see `our 
main
         project website <https://pyinvoke.org>`_; or for detailed API docs, 
see `the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/invoke.egg-info/SOURCES.txt 
new/invoke-1.7.3/invoke.egg-info/SOURCES.txt
--- old/invoke-1.7.1/invoke.egg-info/SOURCES.txt        2022-05-11 
18:04:22.000000000 +0200
+++ new/invoke-1.7.3/invoke.egg-info/SOURCES.txt        2022-09-30 
23:52:17.000000000 +0200
@@ -106,6 +106,7 @@
 sites/docs/concepts/namespaces.rst
 sites/docs/concepts/testing.rst
 sites/docs/concepts/watchers.rst
+sites/www/.changelog.rst.swp
 sites/www/changelog.rst
 sites/www/conf.py
 sites/www/contact.rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/setup.py new/invoke-1.7.3/setup.py
--- old/invoke-1.7.1/setup.py   2022-03-25 23:34:57.000000000 +0100
+++ new/invoke-1.7.3/setup.py   2022-09-30 23:50:26.000000000 +0200
@@ -23,9 +23,7 @@
 For a high level introduction, including example code, please see `our main
 project website <https://pyinvoke.org>`_; or for detailed API docs, see `the
 versioned API website <https://docs.pyinvoke.org>`_.
-""".format(
-    version, open("README.rst").read()
-)
+""".format(open("README.rst").read())
 
 
 setup(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/sites/docs/conf.py 
new/invoke-1.7.3/sites/docs/conf.py
--- old/invoke-1.7.1/sites/docs/conf.py 2022-03-18 22:53:07.000000000 +0100
+++ new/invoke-1.7.3/sites/docs/conf.py 2022-06-07 22:06:04.000000000 +0200
@@ -13,5 +13,5 @@
 
 # Sister-site links to WWW
 html_theme_options["extra_nav_links"] = {
-    "Main website": "https//www.pyinvoke.org"
+    "Main website": "https://www.pyinvoke.org";
 }
Binary files old/invoke-1.7.1/sites/www/.changelog.rst.swp and 
new/invoke-1.7.3/sites/www/.changelog.rst.swp differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/sites/www/changelog.rst 
new/invoke-1.7.3/sites/www/changelog.rst
--- old/invoke-1.7.1/sites/www/changelog.rst    2022-05-11 18:04:18.000000000 
+0200
+++ new/invoke-1.7.3/sites/www/changelog.rst    2022-09-30 23:51:50.000000000 
+0200
@@ -2,6 +2,16 @@
 Changelog
 =========
 
+- :release:`1.7.3 <2022-09-30>`
+- :support:`- backported` Fix a non-fatal bug in our setup.py
+  ``long_description`` generation causing 1.7.0-1.7.2 to have malformed
+  description text on PyPI.
+- :release:`1.7.2 <2022-09-30>`
+- :bug:`876` Refactor CLI parser instantiation such that the
+  ``tasks.ignore_unknown_help`` feature (added in 1.7) works when Invoke is run
+  in ``--complete`` mode, i.e. in tab-completion scripts.
+- :bug:`-` Fix errors thrown when comparing `~invoke.tasks.Task` objects to
+  non-Task objects; such comparisons are now always false.
 - :release:`1.7.1 <2022-05-11>`
 - :bug:`659` Improve behavior under ``nohup``, which causes stdin to become an
   undetectably-unreadable (but otherwise legit) file descriptor. Previously
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/tests/completion.py 
new/invoke-1.7.3/tests/completion.py
--- old/invoke-1.7.1/tests/completion.py        2021-12-23 22:30:34.000000000 
+0100
+++ new/invoke-1.7.3/tests/completion.py        2022-09-30 22:03:27.000000000 
+0200
@@ -1,7 +1,7 @@
 import os
 import sys
 
-from invoke import Program
+from invoke import Program, task, Collection
 
 import pytest
 
@@ -191,3 +191,26 @@
             for given in ("--ar", "--nope"):
                 completion = _complete("multiple-args {}".format(given), "foo")
                 assert flag in completion
+
+    @trap
+    def completion_given_parser_by_program(self):
+        # Trial case: means honoring config ignore_unknown_help option
+        # (i.e. not exploding when any task in the target collection has unused
+        # help keys; doesn't actually need the completion invocation to include
+        # said task!)
+        # NOTE: subclassing to mimic real world report case, and for ease of
+        # shoving in a config override
+
+        @task(help=dict(lol="nope"))
+        def noboomplz(c):
+            pass
+
+        ns = Collection(noboomplz)
+
+        class MyProgram(Program):
+            def create_config(self):
+                super(MyProgram, self).create_config()
+                self.config.tasks.ignore_unknown_help = True
+
+        MyProgram(namespace=ns).run("inv --complete -- inv noboom", exit=False)
+        assert sys.stdout.getvalue().strip() == "noboomplz"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/invoke-1.7.1/tests/task.py 
new/invoke-1.7.3/tests/task.py
--- old/invoke-1.7.1/tests/task.py      2022-03-19 00:43:51.000000000 +0100
+++ new/invoke-1.7.3/tests/task.py      2022-09-30 22:03:27.000000000 +0200
@@ -188,6 +188,16 @@
         t3 = Task(_func, name="bar")
         assert t1 != t3
 
+    def equality_testing_false_for_non_task_objects(self):
+        t = Task(_func, name="foo")
+        # No name attribute at all
+        assert t != object()
+        # Name attr, but not a Task
+        class Named:
+            name = "foo"
+
+        assert t != Named()
+
     class function_like_behavior:
         # Things that help them eg show up in autodoc easier
         def inherits_module_from_body(self):

Reply via email to