Hello community,

here is the log from the commit of package python-argcomplete for 
openSUSE:Factory checked in at 2019-04-08 20:52:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-argcomplete (Old)
 and      /work/SRC/openSUSE:Factory/.python-argcomplete.new.3908 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-argcomplete"

Mon Apr  8 20:52:57 2019 rev:11 rq:691783 version:1.9.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-argcomplete/python-argcomplete.changes    
2019-02-25 17:57:30.582282336 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-argcomplete.new.3908/python-argcomplete.changes
  2019-04-08 20:53:00.294544963 +0200
@@ -1,0 +2,7 @@
+Fri Apr  5 11:02:52 UTC 2019 - Tomáš Chvátal <[email protected]>
+
+- Update to 1.9.5:
+  * check_module: Don’t crash, exit with error instead (#261)
+  * Register completion for multiple commands (#246)
+
+-------------------------------------------------------------------

Old:
----
  argcomplete-1.9.4.tar.gz

New:
----
  argcomplete-1.9.5.tar.gz

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

Other differences:
------------------
++++++ python-argcomplete.spec ++++++
--- /var/tmp/diff_new_pack.AnJIyr/_old  2019-04-08 20:53:00.966545456 +0200
+++ /var/tmp/diff_new_pack.AnJIyr/_new  2019-04-08 20:53:00.974545462 +0200
@@ -17,23 +17,21 @@
 #
 
 
-%{!?license: %global license %doc}
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-argcomplete
-Version:        1.9.4
+Version:        1.9.5
 Release:        0
 Summary:        Bash tab completion for argparse
 License:        Apache-2.0
 Group:          Development/Languages/Python
-Url:            https://github.com/kislyuk/argcomplete
+URL:            https://github.com/kislyuk/argcomplete
 Source:         
https://files.pythonhosted.org/packages/source/a/argcomplete/argcomplete-%{version}.tar.gz
 Patch0:         skip_tcsh_tests.patch
 Patch1:         trim-test-deps.patch
+BuildRequires:  %{python_module pexpect}
 BuildRequires:  %{python_module setuptools}
+BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-# SECTION tests
-BuildRequires:  %{python_module pexpect}
-# END SECTIONS tests
 BuildArch:      noarch
 %python_subpackages
 
@@ -63,10 +61,8 @@
 %python_install
 rm -rf %{buildroot}%{python_sitelib}/test
 rm %{buildroot}%{_bindir}/activate-global-python-argcomplete
-%python_clone 
%{buildroot}%{_bindir}/python-argcomplete-check-easy-install-script
-%python_clone %{buildroot}%{_bindir}/register-python-argcomplete
-install -DTm644 
%{buildroot}%{python_sitelib}/argcomplete/bash_completion.d/python-argcomplete.sh
 %{buildroot}%{_sysconfdir}/bash_completion.d/python-argcomplete.sh
-%python_clone 
%{buildroot}%{_sysconfdir}/bash_completion.d/python-argcomplete.sh
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+install -DTm644 
%{buildroot}%{python_sitelib}/argcomplete/bash_completion.d/python-argcomplete.sh
 %{buildroot}%{_datadir}/bash-completion/completions/python-argcomplete.sh
 # tcsh support is broken
 rm %{buildroot}%{_bindir}/python-argcomplete-tcsh
 
@@ -81,9 +77,6 @@
 %{python_sitelib}/argcomplete
 %python3_only %{_bindir}/python-argcomplete-check-easy-install-script
 %python3_only %{_bindir}/register-python-argcomplete
-%python3_only %{_sysconfdir}/bash_completion.d/python-argcomplete.sh
-%{_bindir}/python-argcomplete-check-easy-install-script-%{python_version}
-%{_bindir}/register-python-argcomplete-%{python_version}
-%{_sysconfdir}/bash_completion.d/python-argcomplete.sh-%{python_version}
+%python3_only %{_datadir}/bash-completion/completions/python-argcomplete.sh
 
 %changelog

++++++ argcomplete-1.9.4.tar.gz -> argcomplete-1.9.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/Changes.rst 
new/argcomplete-1.9.5/Changes.rst
--- old/argcomplete-1.9.4/Changes.rst   2018-02-13 16:40:50.000000000 +0100
+++ new/argcomplete-1.9.5/Changes.rst   2019-04-02 15:58:44.000000000 +0200
@@ -1,3 +1,10 @@
+Changes for v1.9.5 (2019-04-02)
+===============================
+
+-  check_module: Don’t crash, exit with error instead (#261)
+
+-  Register completion for multiple commands (#246)
+
 Changes for v1.9.4 (2018-02-13)
 ===============================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/PKG-INFO 
new/argcomplete-1.9.5/PKG-INFO
--- old/argcomplete-1.9.4/PKG-INFO      2018-02-13 16:41:04.000000000 +0100
+++ new/argcomplete-1.9.5/PKG-INFO      2019-04-02 15:59:05.000000000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: argcomplete
-Version: 1.9.4
+Version: 1.9.5
 Summary: Bash tab completion for argparse
 Home-page: https://github.com/kislyuk/argcomplete
 Author: Andrey Kislyuk
 Author-email: [email protected]
 License: Apache Software License
-Description-Content-Type: UNKNOWN
 Description: argcomplete - Bash tab completion for argparse
         ==============================================
         *Tab complete all the things!*
@@ -16,7 +15,7 @@
         It makes two assumptions:
         
         * You're using bash as your shell (limited support for zsh and tcsh is 
available)
-        * You're using `argparse 
<http://docs.python.org/2.7/library/argparse.html>`_ to manage your command 
line arguments/options
+        * You're using `argparse 
<http://docs.python.org/3/library/argparse.html>`_ to manage your command line 
arguments/options
         
         Argcomplete is particularly useful if your program has lots of options 
or subparsers, and if your program can
         dynamically suggest completions for your argument/option values (for 
example, if the user is browsing resources over
@@ -172,8 +171,8 @@
         command line. For example, you can use the readline-style completer 
provided by IPython_ to get introspective
         completions like you would get in the IPython shell:
         
-        .. _readline: http://docs.python.org/2/library/readline.html
-        .. _rlcompleter: 
http://docs.python.org/2/library/rlcompleter.html#completer-objects
+        .. _readline: http://docs.python.org/3/library/readline.html
+        .. _rlcompleter: 
http://docs.python.org/3/library/rlcompleter.html#completer-objects
         .. _IPython: http://ipython.org/
         
         .. code-block:: python
@@ -259,6 +258,17 @@
         
         .. _`see on GitHub`: 
https://github.com/kislyuk/argcomplete/blob/master/argcomplete/bash_completion.d/python-argcomplete.sh
         
+        Zsh Support
+        ------------
+        To activate completions for zsh you need to have ``bashcompinit`` 
enabled in zsh::
+        
+            autoload -U bashcompinit
+            bashcompinit
+        
+        Afterwards you can enable completion for your scripts with 
``register-python-argcomplete``::
+        
+            eval "$(register-python-argcomplete my-awesome-script)"
+        
         Tcsh Support
         ------------
         To activate completions for tcsh use::
@@ -346,3 +356,4 @@
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: System :: Shells
 Classifier: Topic :: Terminals
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/README.rst 
new/argcomplete-1.9.5/README.rst
--- old/argcomplete-1.9.4/README.rst    2018-01-15 01:59:16.000000000 +0100
+++ new/argcomplete-1.9.5/README.rst    2019-04-02 15:57:32.000000000 +0200
@@ -7,7 +7,7 @@
 It makes two assumptions:
 
 * You're using bash as your shell (limited support for zsh and tcsh is 
available)
-* You're using `argparse <http://docs.python.org/2.7/library/argparse.html>`_ 
to manage your command line arguments/options
+* You're using `argparse <http://docs.python.org/3/library/argparse.html>`_ to 
manage your command line arguments/options
 
 Argcomplete is particularly useful if your program has lots of options or 
subparsers, and if your program can
 dynamically suggest completions for your argument/option values (for example, 
if the user is browsing resources over
@@ -163,8 +163,8 @@
 command line. For example, you can use the readline-style completer provided 
by IPython_ to get introspective
 completions like you would get in the IPython shell:
 
-.. _readline: http://docs.python.org/2/library/readline.html
-.. _rlcompleter: 
http://docs.python.org/2/library/rlcompleter.html#completer-objects
+.. _readline: http://docs.python.org/3/library/readline.html
+.. _rlcompleter: 
http://docs.python.org/3/library/rlcompleter.html#completer-objects
 .. _IPython: http://ipython.org/
 
 .. code-block:: python
@@ -250,6 +250,17 @@
 
 .. _`see on GitHub`: 
https://github.com/kislyuk/argcomplete/blob/master/argcomplete/bash_completion.d/python-argcomplete.sh
 
+Zsh Support
+------------
+To activate completions for zsh you need to have ``bashcompinit`` enabled in 
zsh::
+
+    autoload -U bashcompinit
+    bashcompinit
+
+Afterwards you can enable completion for your scripts with 
``register-python-argcomplete``::
+
+    eval "$(register-python-argcomplete my-awesome-script)"
+
 Tcsh Support
 ------------
 To activate completions for tcsh use::
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/argcomplete/__init__.py 
new/argcomplete-1.9.5/argcomplete/__init__.py
--- old/argcomplete-1.9.4/argcomplete/__init__.py       2017-11-21 
17:06:21.000000000 +0100
+++ new/argcomplete-1.9.5/argcomplete/__init__.py       2018-02-13 
16:43:58.000000000 +0100
@@ -8,7 +8,7 @@
 from .compat import USING_PYTHON2, str, sys_encoding, ensure_str, ensure_bytes
 from .completers import FilesCompleter, SuppressCompleter
 from .my_argparse import IntrospectiveArgumentParser, action_is_satisfied, 
action_is_open, action_is_greedy
-from .shellintegration import shellcode # noqa
+from .shellintegration import shellcode
 
 _DEBUG = "_ARC_DEBUG" in os.environ
 
@@ -100,7 +100,9 @@
             if lexer.instream.tell() >= point:
                 return split_word(lexer.token)
             else:
-                raise ArgcompleteException("Unexpected internal state. Please 
report this bug at https://github.com/kislyuk/argcomplete/issues.";)  # noqa
+                msg = ("Unexpected internal state. "
+                       "Please report this bug at 
https://github.com/kislyuk/argcomplete/issues.";)
+                raise ArgcompleteException(msg)
 
 def default_validator(completion, prefix):
     return completion.startswith(prefix)
@@ -343,7 +345,8 @@
 
     def _get_option_completions(self, parser, cword_prefix):
         self._display_completions.update(
-            [[" ".join(ensure_str(x) for x in action.option_strings if 
ensure_str(x).startswith(cword_prefix)), action.help]  # noqa
+            [[" ".join(ensure_str(x) for x in action.option_strings
+                       if ensure_str(x).startswith(cword_prefix)), action.help]
              for action in parser._actions
              if action.option_strings])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/argcomplete/_check_module.py 
new/argcomplete-1.9.5/argcomplete/_check_module.py
--- old/argcomplete-1.9.4/argcomplete/_check_module.py  2017-03-15 
23:47:27.000000000 +0100
+++ new/argcomplete-1.9.5/argcomplete/_check_module.py  2019-04-02 
15:57:32.000000000 +0200
@@ -12,7 +12,10 @@
 
     def find_spec(name):
         """Minimal implementation as required by `find`."""
-        f, path, _ = find_module(name)
+        try:
+            f, path, _ = find_module(name)
+        except ImportError:
+            return None
         has_location = path is not None
         if f is None:
             return ModuleSpec(None, has_location, [path])
@@ -20,17 +23,25 @@
         return ModuleSpec(path, has_location, None)
 
 
+class ArgcompleteMarkerNotFound(RuntimeError):
+    pass
+
+
 def find(name):
     names = name.split('.')
     spec = find_spec(names[0])
+    if spec is None:
+        raise ArgcompleteMarkerNotFound(
+            'no module named "{}"'.format(names[0]))
     if not spec.has_location:
-        raise Exception('cannot locate file')
+        raise ArgcompleteMarkerNotFound('cannot locate file')
     if spec.submodule_search_locations is None:
         if len(names) != 1:
-            raise Exception('{} is not a package'.format(names[0]))
+            raise ArgcompleteMarkerNotFound(
+                '{} is not a package'.format(names[0]))
         return spec.origin
     if len(spec.submodule_search_locations) != 1:
-        raise Exception('expecting one search location')
+        raise ArgcompleteMarkerNotFound('expecting one search location')
     path = os.path.join(spec.submodule_search_locations[0], *names[1:])
     if os.path.isdir(path):
         return os.path.join(path, '__main__.py')
@@ -42,8 +53,11 @@
     with open(find(sys.argv[1])) as f:
         head = f.read(1024)
     if 'PYTHON_ARGCOMPLETE_OK' not in head:
-        raise Exception('marker not found')
+        raise ArgcompleteMarkerNotFound('marker not found')
 
 
 if __name__ == '__main__':
-    main()
+    try:
+        main()
+    except ArgcompleteMarkerNotFound as e:
+        sys.exit(e)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/argcomplete/shellintegration.py 
new/argcomplete-1.9.5/argcomplete/shellintegration.py
--- old/argcomplete-1.9.4/argcomplete/shellintegration.py       2017-11-21 
17:06:21.000000000 +0100
+++ new/argcomplete-1.9.5/argcomplete/shellintegration.py       2019-01-11 
18:35:14.000000000 +0100
@@ -1,5 +1,10 @@
 #!/usr/bin/env python
 
+try:
+    from shlex import quote
+except ImportError:
+    from pipes import quote
+
 bashcode = r'''
 # Run something, muting output or redirecting it to the debug stream
 # depending on the value of _ARC_DEBUG.
@@ -31,18 +36,18 @@
         compopt -o nospace
     fi
 }
-complete %(complete_opts)s -F _python_argcomplete "%(executable)s"
+complete %(complete_opts)s -F _python_argcomplete %(executables)s
 '''
 
 tcshcode = '''\
-complete "%(executable)s" 'p@*@`python-argcomplete-tcsh "%(executable)s"`@'
+complete "%(executable)s" 'p@*@`python-argcomplete-tcsh "%(executable)s"`@' ;
 '''
 
-def shellcode(executable, use_defaults=True, shell='bash', 
complete_arguments=None):
+def shellcode(executables, use_defaults=True, shell='bash', 
complete_arguments=None):
     '''
     Provide the shell code required to register a python executable for use 
with the argcomplete module.
 
-    :param str executable: Executable to be completed (when invoked exactly 
with this name
+    :param str executables: Executables to be completed (when invoked exactly 
with this name
     :param bool use_defaults: Whether to fallback to readline's default 
completion when no matches are generated.
     :param str shell: Name of the shell to output code for (bash or tcsh)
     :param complete_arguments: Arguments to call complete with
@@ -55,8 +60,12 @@
         complete_options = " ".join(complete_arguments)
 
     if shell == 'bash':
-        code = bashcode
+        quoted_executables = [quote(i) for i in executables]
+        executables_list = " ".join(quoted_executables)
+        code = bashcode % dict(complete_opts=complete_options, 
executables=executables_list)
     else:
-        code = tcshcode
+        code = ""
+        for executable in executables:
+            code += tcshcode % dict(executable=executable)
 
-    return code % dict(complete_opts=complete_options, executable=executable)
+    return code
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/argcomplete.egg-info/PKG-INFO 
new/argcomplete-1.9.5/argcomplete.egg-info/PKG-INFO
--- old/argcomplete-1.9.4/argcomplete.egg-info/PKG-INFO 2018-02-13 
16:41:04.000000000 +0100
+++ new/argcomplete-1.9.5/argcomplete.egg-info/PKG-INFO 2019-04-02 
15:59:05.000000000 +0200
@@ -1,12 +1,11 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
 Name: argcomplete
-Version: 1.9.4
+Version: 1.9.5
 Summary: Bash tab completion for argparse
 Home-page: https://github.com/kislyuk/argcomplete
 Author: Andrey Kislyuk
 Author-email: [email protected]
 License: Apache Software License
-Description-Content-Type: UNKNOWN
 Description: argcomplete - Bash tab completion for argparse
         ==============================================
         *Tab complete all the things!*
@@ -16,7 +15,7 @@
         It makes two assumptions:
         
         * You're using bash as your shell (limited support for zsh and tcsh is 
available)
-        * You're using `argparse 
<http://docs.python.org/2.7/library/argparse.html>`_ to manage your command 
line arguments/options
+        * You're using `argparse 
<http://docs.python.org/3/library/argparse.html>`_ to manage your command line 
arguments/options
         
         Argcomplete is particularly useful if your program has lots of options 
or subparsers, and if your program can
         dynamically suggest completions for your argument/option values (for 
example, if the user is browsing resources over
@@ -172,8 +171,8 @@
         command line. For example, you can use the readline-style completer 
provided by IPython_ to get introspective
         completions like you would get in the IPython shell:
         
-        .. _readline: http://docs.python.org/2/library/readline.html
-        .. _rlcompleter: 
http://docs.python.org/2/library/rlcompleter.html#completer-objects
+        .. _readline: http://docs.python.org/3/library/readline.html
+        .. _rlcompleter: 
http://docs.python.org/3/library/rlcompleter.html#completer-objects
         .. _IPython: http://ipython.org/
         
         .. code-block:: python
@@ -259,6 +258,17 @@
         
         .. _`see on GitHub`: 
https://github.com/kislyuk/argcomplete/blob/master/argcomplete/bash_completion.d/python-argcomplete.sh
         
+        Zsh Support
+        ------------
+        To activate completions for zsh you need to have ``bashcompinit`` 
enabled in zsh::
+        
+            autoload -U bashcompinit
+            bashcompinit
+        
+        Afterwards you can enable completion for your scripts with 
``register-python-argcomplete``::
+        
+            eval "$(register-python-argcomplete my-awesome-script)"
+        
         Tcsh Support
         ------------
         To activate completions for tcsh use::
@@ -346,3 +356,4 @@
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Topic :: System :: Shells
 Classifier: Topic :: Terminals
+Provides-Extra: test
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/argcomplete-1.9.4/scripts/register-python-argcomplete 
new/argcomplete-1.9.5/scripts/register-python-argcomplete
--- old/argcomplete-1.9.4/scripts/register-python-argcomplete   2017-11-21 
17:06:21.000000000 +0100
+++ new/argcomplete-1.9.5/scripts/register-python-argcomplete   2019-01-11 
18:35:14.000000000 +0100
@@ -41,6 +41,7 @@
 
 parser.add_argument(
     'executable',
+    nargs='+',
     help='executable to completed (when invoked by exactly this name)')
 
 if len(sys.argv) == 1:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/setup.cfg 
new/argcomplete-1.9.5/setup.cfg
--- old/argcomplete-1.9.4/setup.cfg     2018-02-13 16:41:04.000000000 +0100
+++ new/argcomplete-1.9.5/setup.cfg     2019-04-02 15:59:05.000000000 +0200
@@ -10,7 +10,7 @@
 
 [flake8]
 max-line-length = 120
-ignore = E301, E302, E305, E401, E722, E741
+ignore = E301, E302, E305, E401, F401, E722, E741
 exclude = my_shlex.py
 
 [egg_info]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/setup.py 
new/argcomplete-1.9.5/setup.py
--- old/argcomplete-1.9.4/setup.py      2018-02-13 16:40:23.000000000 +0100
+++ new/argcomplete-1.9.5/setup.py      2019-04-02 15:57:40.000000000 +0200
@@ -8,7 +8,7 @@
 
 setup(
     name='argcomplete',
-    version='1.9.4',
+    version='1.9.5',
     url='https://github.com/kislyuk/argcomplete',
     license='Apache Software License',
     author='Andrey Kislyuk',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/argcomplete-1.9.4/test/test.py 
new/argcomplete-1.9.5/test/test.py
--- old/argcomplete-1.9.4/test/test.py  2018-02-13 16:40:04.000000000 +0100
+++ new/argcomplete-1.9.5/test/test.py  2019-01-11 18:35:14.000000000 +0100
@@ -740,17 +740,17 @@
 
     def test_shellcode_utility(self):
         with NamedTemporaryFile() as fh:
-            sc = shellcode("prog", use_defaults=True, shell="bash", 
complete_arguments=None)
+            sc = shellcode(["prog"], use_defaults=True, shell="bash", 
complete_arguments=None)
             fh.write(sc.encode())
             fh.flush()
             subprocess.check_call(['bash', '-n', fh.name])
         with NamedTemporaryFile() as fh:
-            sc = shellcode("prog", use_defaults=False, shell="bash", 
complete_arguments=["-o", "nospace"])
+            sc = shellcode(["prog", "prog2"], use_defaults=False, 
shell="bash", complete_arguments=["-o", "nospace"])
             fh.write(sc.encode())
             fh.flush()
             subprocess.check_call(['bash', '-n', fh.name])
-        sc = shellcode("prog", use_defaults=False, shell="tcsh", 
complete_arguments=["-o", "nospace"])
-        sc = shellcode("prog", use_defaults=False, shell="woosh", 
complete_arguments=["-o", "nospace"])
+        sc = shellcode(["prog"], use_defaults=False, shell="tcsh", 
complete_arguments=["-o", "nospace"])
+        sc = shellcode(["prog"], use_defaults=False, shell="woosh", 
complete_arguments=["-o", "nospace"])
 
 class TestArgcompleteREPL(unittest.TestCase):
     def setUp(self):


Reply via email to