Hello community,
here is the log from the commit of package python-inspektor for openSUSE:Factory checked in at 2018-07-28 12:44:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-inspektor (Old)
and /work/SRC/openSUSE:Factory/.python-inspektor.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-inspektor"
Sat Jul 28 12:44:59 2018 rev:2 rq:625771 version:0.5.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-inspektor/python-inspektor.changes 2017-10-09 19:48:46.450125588 +0200
+++ /work/SRC/openSUSE:Factory/.python-inspektor.new/python-inspektor.changes 2018-07-28 12:45:05.196955507 +0200
@@ -1,0 +2,6 @@
+Fri Jul 27 11:20:41 UTC 2018 - mpluskal@suse.com
+
+- Update to version 0.5.1:
+ * No changelog available
+
+-------------------------------------------------------------------
Old:
----
inspektor-0.4.5.tar.gz
New:
----
inspektor-0.5.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-inspektor.spec ++++++
--- /var/tmp/diff_new_pack.Uy0zxx/_old 2018-07-28 12:45:06.156957252 +0200
+++ /var/tmp/diff_new_pack.Uy0zxx/_new 2018-07-28 12:45:06.160957259 +0200
@@ -1,7 +1,7 @@
#
-# spec file for package python
+# spec file for package python-inspektor
#
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,26 +19,33 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%global pkgname inspektor
Name: python-%{pkgname}
-Version: 0.4.5
+Version: 0.5.1
Release: 0
Summary: Program used to verify the code of your python project
-License: GPL-2.0
+License: GPL-2.0-only
Group: Development/Languages/Python
-Url: https://github.com/avocado-framework/inspektor
+URL: https://github.com/avocado-framework/inspektor
Source: https://github.com/avocado-framework/inspektor/archive/%{version}.tar.gz#/%{pkgname}-%{version}.tar.gz
-BuildRequires: %{python_module base}
+BuildRequires: %{python_module astroid} >= 1.2.1
+BuildRequires: %{python_module cliff}
+BuildRequires: %{python_module cmd2}
BuildRequires: %{python_module devel}
-BuildRequires: %{python_module logutils}
-BuildRequires: %{python_module pep8}
-BuildRequires: %{python_module pylint}
+BuildRequires: %{python_module logutils} >= 0.3.3
+BuildRequires: %{python_module pbr} >= 1.4
+BuildRequires: %{python_module pycodestyle} >= 2.0.0
+BuildRequires: %{python_module pylint} >= 1.3.1
BuildRequires: %{python_module setuptools}
-BuildRequires: %{python_module six}
+BuildRequires: %{python_module stevedore}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
-Requires: python-logutils
-Requires: python-pep8
-Requires: python-pylint
-Requires: python-six
+Requires: python-astroid >= 1.2.1
+Requires: python-cliff
+Requires: python-cmd2
+Requires: python-logutils >= 0.3.3
+Requires: python-pbr >= 1.4
+Requires: python-pycodestyle >= 2.0.0
+Requires: python-pylint >= 1.3.1
+Requires: python-stevedore
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildArch: noarch
@@ -57,6 +64,9 @@
%build
%python_build
+%check
+%python_exec setup.py test
+
%install
%python_install
%python_clone -a %{buildroot}%{_bindir}/inspekt
@@ -69,7 +79,8 @@
%python_uninstall_alternative inspekt
%files %{python_files}
-%doc LICENSE README.rst
+%license LICENSE
+%doc README.rst
%python_alternative %{_bindir}/inspekt
%{python_sitelib}/*
++++++ inspektor-0.4.5.tar.gz -> inspektor-0.5.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/documentation/source/conf.py new/inspektor-0.5.1/documentation/source/conf.py
--- old/inspektor-0.4.5/documentation/source/conf.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/documentation/source/conf.py 2018-05-03 19:52:49.000000000 +0200
@@ -56,9 +56,9 @@
# built documents.
#
# The short X.Y version.
-version = '0.1.5'
+version = '0.5.1'
# The full version, including alpha/beta/rc tags.
-release = '0.1.5'
+release = '0.5.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/inspektor-0.4.5/inspektor/cli/app.py new/inspektor-0.5.1/inspektor/cli/app.py
--- old/inspektor-0.4.5/inspektor/cli/app.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/cli/app.py 2018-05-03 19:52:49.000000000 +0200
@@ -26,7 +26,7 @@
def __init__(self):
super(InspektorApp, self).__init__(
description='Inspektor python code checker and fixer',
- version='0.4.0',
+ version='0.5.1',
command_manager=CommandManager('inspektor.app'),
deferred_help=True,
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/checkall.py new/inspektor-0.5.1/inspektor/commands/checkall.py
--- old/inspektor-0.4.5/inspektor/commands/checkall.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/checkall.py 2018-05-03 19:52:49.000000000 +0200
@@ -69,8 +69,6 @@
parser.add_argument('--author', type=str,
help='Author string. Ex: "Author: Brandon Lindon "',
default="")
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
return parser
def take_action(self, parsed_args):
@@ -88,9 +86,8 @@
self.log.info('License check: disabled')
license_checker = None
- status = True
+ status = linter.check(checked_paths)
for path in checked_paths:
- status &= linter.check(path=path)
status &= reindenter.check(path=path)
status &= style_checker.check(path=path)
if license_checker is not None:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/github.py new/inspektor-0.5.1/inspektor/commands/github.py
--- old/inspektor-0.4.5/inspektor/commands/github.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/github.py 2018-05-03 19:52:49.000000000 +0200
@@ -91,8 +91,6 @@
help='Quoted string containing paths or '
'patterns to be excluded from '
'checking, comma separated')
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
return parser
def take_action(self, parsed_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/indent.py new/inspektor-0.5.1/inspektor/commands/indent.py
--- old/inspektor-0.4.5/inspektor/commands/indent.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/indent.py 2018-05-03 19:52:49.000000000 +0200
@@ -35,8 +35,6 @@
help='Quoted string containing paths or '
'patterns to be excluded from '
'checking, comma separated')
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
return parser
def take_action(self, parsed_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/license.py new/inspektor-0.5.1/inspektor/commands/license.py
--- old/inspektor-0.4.5/inspektor/commands/license.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/license.py 2018-05-03 19:52:49.000000000 +0200
@@ -46,8 +46,6 @@
help='Quoted string containing paths or '
'patterns to be excluded from '
'checking, comma separated')
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
parser.add_argument('--fix', action='store_true', default=False,
help='Fix any style problems found '
'(needs autopep8 installed)')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/lint.py new/inspektor-0.5.1/inspektor/commands/lint.py
--- old/inspektor-0.4.5/inspektor/commands/lint.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/lint.py 2018-05-03 19:52:49.000000000 +0200
@@ -10,6 +10,7 @@
# See LICENSE for more details.
import logging
+import multiprocessing
import os
from cliff.command import Command
@@ -41,8 +42,9 @@
help='Quoted string containing paths or '
'patterns to be excluded from '
'checking, comma separated')
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
+ parser.add_argument('--parallel', action='store', nargs='?',
+ default=multiprocessing.cpu_count(),
+ help="How many threads to use")
return parser
def take_action(self, parsed_args):
@@ -50,10 +52,8 @@
parsed_args.path = [os.getcwd()]
linter = Linter(parsed_args, logger=self.log)
+ status = linter.check(parsed_args.path)
- status = True
- for path in parsed_args.path:
- status &= linter.check(path)
if status:
self.log.info("Syntax check PASS")
return 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/commands/style.py new/inspektor-0.5.1/inspektor/commands/style.py
--- old/inspektor-0.4.5/inspektor/commands/style.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/commands/style.py 2018-05-03 19:52:49.000000000 +0200
@@ -43,8 +43,6 @@
help='Quoted string containing paths or '
'patterns to be excluded from '
'checking, comma separated')
- parser.add_argument('--verbose', action='store_true',
- help='Print extra debug messages')
return parser
def take_action(self, parsed_args):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/lint.py new/inspektor-0.5.1/inspektor/lint.py
--- old/inspektor-0.4.5/inspektor/lint.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/lint.py 2018-05-03 19:52:49.000000000 +0200
@@ -16,7 +16,7 @@
import os
import sys
-from pylint.lint import Run
+from pylint.lint import Run, PyLinter
from .path import PathChecker
from .utils import process
@@ -24,6 +24,20 @@
_PYLINT_HELP_TEXT = process.run('pylint --help', verbose=False).stdout
+class QuietPyLinter(PyLinter):
+ def read_config_file(self, config_file=None):
+ quiet = self.quiet
+ try:
+ self.quiet = 1
+ return super(QuietPyLinter, self).read_config_file()
+ finally:
+ self.quiet = quiet
+
+
+class QuietLintRun(Run):
+ LinterClass = QuietPyLinter
+
+
class Linter(object):
def __init__(self, args, logger=logging.getLogger('')):
@@ -39,18 +53,15 @@
self.enabled_errors = args.enable_lint
self.log = logger
self.args = args
- self.verbose = args.verbose
+ if hasattr(args, 'parallel'):
+ self.parallel = args.parallel
+ else:
+ import multiprocessing
+ self.parallel = multiprocessing.cpu_count()
# Be able to analyze all imports inside the project
sys.path.insert(0, os.getcwd())
- self.failed_paths = []
- if not self.verbose:
- self.log.info('Pylint disabled: %s' % self.ignored_errors)
- self.log.info('Pylint enabled : %s' % self.enabled_errors)
- else:
- self.log.info('Verbose mode, no disable/enable, full reports')
-
- def set_verbose(self):
- self.verbose = True
+ self.log.info('Pylint disabled: %s', self.ignored_errors)
+ self.log.info('Pylint enabled : %s', self.enabled_errors)
@staticmethod
def _pylint_has_option(option):
@@ -65,62 +76,52 @@
('--msg-template='
'"{msg_id}:{line:3d},{column}: {obj}: {msg}"')]
- if not self.verbose:
- if self.ignored_errors:
- pylint_args.append('--disable=%s' % self.ignored_errors)
- if self.enabled_errors:
- pylint_args.append('--enable=%s' % self.enabled_errors)
- if self._pylint_has_option('--reports='):
- pylint_args.append('--reports=no')
- if self._pylint_has_option('--score='):
- pylint_args.append('--score=no')
+ if self.ignored_errors:
+ pylint_args.append('--disable=%s' % self.ignored_errors)
+ if self.enabled_errors:
+ pylint_args.append('--enable=%s' % self.enabled_errors)
+ if self._pylint_has_option('--reports='):
+ pylint_args.append('--reports=no')
+ if self._pylint_has_option('--score='):
+ pylint_args.append('--score=no')
+ if self._pylint_has_option('--jobs='):
+ pylint_args.append('--jobs=%s' % self.parallel)
return pylint_args
- def check_dir(self, path):
- """
- Recursively go on a directory checking files with pylint.
-
- :param path: Path to a directory.
- """
- for root, dirs, files in os.walk(path):
- for filename in files:
- self.check_file(os.path.join(root, filename))
-
- return not self.failed_paths
-
- def check_file(self, path):
- """
- Check one regular file with pylint for py syntax errors.
-
- :param path: Path to a regular file.
- :return: False, if pylint found syntax problems, True, if pylint didn't
- find problems, or path is not a python module or script.
- """
- checker = PathChecker(path=path, args=self.args, label='Lint',
- logger=self.log)
- if not checker.check_attributes('text', 'python', 'not_empty'):
- return True
- try:
- runner = Run(self.get_opts() + [path], exit=False)
- if runner.linter.msg_status != 0:
- self.failed_paths.append(path)
- checker.log_status(status='FAIL')
+ def check(self, file_or_dirs):
+ def should_be_checked(path):
+ checker = PathChecker(path=path, args=self.args, label='Lint',
+ logger=self.log)
+ return checker.check_attributes('text', 'python', 'not_empty')
+ paths = []
+ not_file_or_dirs = []
+ for file_or_dir in file_or_dirs:
+ if os.path.isdir(file_or_dir):
+ for root, _, files in os.walk(file_or_dir):
+ for filename in files:
+ path = os.path.join(root, filename)
+ if should_be_checked(path):
+ paths.append(path)
+ elif os.path.isfile(file_or_dir):
+ if should_be_checked(file_or_dir):
+ paths.append(file_or_dir)
else:
- checker.log_status(status='PASS')
- return runner.linter.msg_status == 0
- except Exception as details:
- self.log.error('Pylint check fail: %s (pylint exception: %s)',
- path, details)
- self.failed_paths.append(path)
- checker.log_status(status='FAIL')
- return False
-
- def check(self, path):
- if os.path.isfile(path):
- return self.check_file(path)
- elif os.path.isdir(path):
- return self.check_dir(path)
- else:
- self.log.error("Invalid location '%s'", path)
- return False
+ not_file_or_dirs.append(file_or_dir)
+ linter_failed = True
+ if paths:
+ runner = QuietLintRun(self.get_opts() + paths, exit=False)
+ for module, status in runner.linter.stats.get('by_module').items():
+ if any(status.values()):
+ self.log.debug('Lint: %s FAIL', module)
+ else:
+ self.log.debug('Lint: %s PASS', module)
+ if runner.linter.msg_status == 0:
+ linter_failed = False
+ if not_file_or_dirs:
+ self.log.error("Following arguments are not files nor dirs: %s",
+ ", ".join(not_file_or_dirs))
+ return 0
+ if linter_failed:
+ return 0
+ return 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/style.py new/inspektor-0.5.1/inspektor/style.py
--- old/inspektor-0.4.5/inspektor/style.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/style.py 2018-05-03 19:52:49.000000000 +0200
@@ -43,7 +43,7 @@
elif hasattr(args, 'disable_style'):
self.ignored_errors = args.disable_style
self.args = args
- self.log.info('PEP8 disabled: %s' % self.ignored_errors)
+ self.log.info('PEP8 disabled: %s', self.ignored_errors)
def check_dir(self, path):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/utils/__init__.py new/inspektor-0.5.1/inspektor/utils/__init__.py
--- old/inspektor-0.4.5/inspektor/utils/__init__.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/utils/__init__.py 2018-05-03 19:52:49.000000000 +0200
@@ -36,9 +36,9 @@
:param auto: Whether to return "y" instead of asking the question
"""
if auto:
- log.info("%s (%s) y" % (question, options))
+ log.info("%s (%s) y", question, options)
return "y"
- return input("%s (%s) " % (question, options))
+ return input("%s (%s) ", question, options)
def random_string(length, ignore_str=string.punctuation,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor/utils/vcs.py new/inspektor-0.5.1/inspektor/utils/vcs.py
--- old/inspektor-0.4.5/inspektor/utils/vcs.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor/utils/vcs.py 2018-05-03 19:52:49.000000000 +0200
@@ -234,8 +234,8 @@
def update(self):
try:
process.run("svn update")
- except exceptions.CmdError as e:
- self.log.error("SVN tree update failed: %s" % e)
+ except exceptions.CmdError as details:
+ self.log.error("SVN tree update failed: %s", details)
def get_modified_files_patch(self, untracked_files_before, patch):
"""
@@ -281,10 +281,10 @@
def get_repo_name(self):
"""
- Get tje repository name from git remote command output.
+ Get the repository name from git remote command output.
"""
cmd = "git remote -v | head -n1 | awk '{print $2}'"
- cmd += " | sed -e 's,.*:\(.*/\)\?,,' -e 's/\.git$//'"
+ cmd += " | sed -e 's,.*:\\(.*/\\)\\?,,' -e 's/\\.git$//'"
return process.run(cmd, verbose=False, shell=True).stdout.strip()
def get_unknown_files(self):
@@ -376,8 +376,7 @@
process.run("git checkout -b %s" % branch,
verbose=False)
except exceptions.CmdError:
- self.log.error("branch %s already exists!"
- % branch)
+ self.log.error("branch %s already exists!", branch)
answer = ask("What would you like to do?",
options="Abort/Delete/Rename/OldBase/NewBase")
if not answer:
@@ -427,15 +426,16 @@
process.run("git checkout -b %s" % branch, verbose=False)
try:
process.run("git am -3 %s" % patch, verbose=False)
- except exceptions.CmdError as e:
- self.log.error("Failed to apply patch to the git repo: %s" % e)
+ except exceptions.CmdError as details:
+ self.log.error("Failed to apply patch to the git repo: %s",
+ details)
return 1
def update(self):
try:
process.run("git pull", verbose=False)
- except exceptions.CmdError as e:
- self.log.error("git tree update failed: %s" % e)
+ except exceptions.CmdError as details:
+ self.log.error("git tree update failed: %s", details)
def get_modified_files_patch(self, untracked_files_before, patch):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/inspektor.spec new/inspektor-0.5.1/inspektor.spec
--- old/inspektor-0.4.5/inspektor.spec 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/inspektor.spec 2018-05-03 19:52:49.000000000 +0200
@@ -1,11 +1,11 @@
-%global inspektorversion 0.4.5
+%global inspektorversion 0.5.1
Summary: Inspektor python project checker
Name: inspektor
Version: %{inspektorversion}
Release: 0%{?dist}
License: GPLv2
Group: Development/Tools
-URL: https://github.com/autotest/inspektor
+URL: https://github.com/avocado-framework/inspektor
Source: inspektor-%{inspektorversion}.tar.gz
BuildArch: noarch
@@ -44,6 +44,11 @@
%changelog
+* Thu May 3 2018 Cleber Rosa - 0.5.1-0
+- New upstream version 0.5.1
+* Thu May 3 2018 Cleber Rosa - 0.4.6-0
+- New upstream version 0.4.6
+- Updated URL from autotest to avocado-framework project
* Fri Aug 11 2017 Lucas Meneghel Rodrigues - 0.4.5-0
- New upstream version 0.4.5
* Wed Jul 19 2017 Lucas Meneghel Rodrigues - 0.4.0-0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/inspektor-0.4.5/setup.py new/inspektor-0.5.1/setup.py
--- old/inspektor-0.4.5/setup.py 2017-08-11 11:36:39.000000000 +0200
+++ new/inspektor-0.5.1/setup.py 2018-05-03 19:52:49.000000000 +0200
@@ -19,8 +19,8 @@
PROJECT = 'inspektor'
-# Change docs/sphinx/conf.py too!
-VERSION = '0.4.5'
+# Change documentation/source/conf.py and inspektor/cli/app.py
+VERSION = '0.5.1'
REQUIRES = ['six']
if sys.version_info[:2] == (2, 6):