Hello community,

here is the log from the commit of package openSUSE-release-tools for 
openSUSE:Factory checked in at 2019-11-28 10:17:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-release-tools (Old)
 and      /work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openSUSE-release-tools"

Thu Nov 28 10:17:53 2019 rev:252 rq:751499 version:20191127.ae1b6ea1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/openSUSE-release-tools/openSUSE-release-tools.changes
    2019-11-27 13:55:21.408299199 +0100
+++ 
/work/SRC/openSUSE:Factory/.openSUSE-release-tools.new.26869/openSUSE-release-tools.changes
 2019-11-28 10:18:04.395639570 +0100
@@ -1,0 +2,13 @@
+Wed Nov 27 11:46:17 UTC 2019 - [email protected]
+
+- Update to version 20191127.ae1b6ea1:
+  * Fix all E22x errors
+  * Some flake8 improvements
+
+-------------------------------------------------------------------
+Wed Nov 27 10:34:14 UTC 2019 - [email protected]
+
+- Update to version 20191127.b07939d2:
+  * Gracefully handle utf8 errors in installcheck
+
+-------------------------------------------------------------------

Old:
----
  openSUSE-release-tools-20191126.ac861592.obscpio

New:
----
  openSUSE-release-tools-20191127.ae1b6ea1.obscpio

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

Other differences:
------------------
++++++ openSUSE-release-tools.spec ++++++
--- /var/tmp/diff_new_pack.GrQCKX/_old  2019-11-28 10:18:05.411639580 +0100
+++ /var/tmp/diff_new_pack.GrQCKX/_new  2019-11-28 10:18:05.415639580 +0100
@@ -20,7 +20,7 @@
 %define source_dir openSUSE-release-tools
 %define announcer_filename factory-package-news
 Name:           openSUSE-release-tools
-Version:        20191126.ac861592
+Version:        20191127.ae1b6ea1
 Release:        0
 Summary:        Tools to aid in staging and release work for openSUSE/SUSE
 License:        GPL-2.0-or-later AND MIT

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.GrQCKX/_old  2019-11-28 10:18:05.443639580 +0100
+++ /var/tmp/diff_new_pack.GrQCKX/_new  2019-11-28 10:18:05.443639580 +0100
@@ -1,6 +1,6 @@
 <servicedata>
   <service name="tar_scm">
     <param 
name="url">https://github.com/openSUSE/openSUSE-release-tools.git</param>
-    <param 
name="changesrevision">338a0adf14cc9a98390930e4ce2f4c6e885a1558</param>
+    <param 
name="changesrevision">ae1b6ea152513f1a21e2538e9b168093cfedea7a</param>
   </service>
 </servicedata>

++++++ openSUSE-release-tools-20191126.ac861592.obscpio -> 
openSUSE-release-tools-20191127.ae1b6ea1.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20191126.ac861592/.flake8 
new/openSUSE-release-tools-20191127.ae1b6ea1/.flake8
--- old/openSUSE-release-tools-20191126.ac861592/.flake8        2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/.flake8        2019-11-27 
12:43:57.000000000 +0100
@@ -1,4 +1,4 @@
 [flake8]
 exclude = .open-build-service/, abichecker, openqa, openqa-maintenance.py
 max-line-length = 100
-ignore = 
E501,F401,E302,E228,E128,E251,E201,E202,E203,E305,F841,E265,E261,E266,E712,E401,E126,E502,E222,E241,E711,E226,E125,E123,W293,W391,E731,E101,E227,E713,E225,E124,E221,E127,E701,E714,W503,W504,E129,E303,E741,E722
+ignore = 
E501,F401,E302,E128,E251,E201,E202,E203,E305,F841,E265,E261,E266,E712,E401,E126,E502,E241,E711,E125,E123,W293,W391,E101,E713,E124,E127,E701,E714,W503,W504,E129,E741,E722,E731
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/ReviewBot.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/ReviewBot.py
--- old/openSUSE-release-tools-20191126.ac861592/ReviewBot.py   2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/ReviewBot.py   2019-11-27 
12:43:57.000000000 +0100
@@ -153,7 +153,7 @@
     @review_mode.setter
     def review_mode(self, value):
         if value not in self.REVIEW_CHOICES:
-            raise Exception("invalid review option: %s"%value)
+            raise Exception("invalid review option: %s" % value)
         self._review_mode = value
 
     def set_request_ids(self, ids):
@@ -177,7 +177,7 @@
         return_value = 0
 
         for req in self.requests:
-            self.logger.info("checking %s"%req.reqid)
+            self.logger.info("checking %s" % req.reqid)
             self.request = req
             with sentry_sdk.configure_scope() as scope:
                 scope.set_extra('request.id', self.request.reqid)
@@ -199,7 +199,7 @@
                 good = True
 
             if good is None:
-                self.logger.info("%s ignored"%req.reqid)
+                self.logger.info("%s ignored" % req.reqid)
             elif good:
                 self._set_review(req, 'accepted')
             elif self.review_mode != 'accept-onpass':
@@ -259,7 +259,7 @@
     def _set_review(self, req, state):
         doit = self.can_accept_review(req.reqid)
         if doit is None:
-            self.logger.info("can't change state, %s does not have the 
reviewer"%(req.reqid))
+            self.logger.info("can't change state, %s does not have the 
reviewer" % (req.reqid))
 
         newstate = state
 
@@ -267,18 +267,18 @@
         by_group = self.fallback_group
 
         msg = self.review_messages[state] if state in self.review_messages 
else state
-        self.logger.info("%s %s: %s"%(req.reqid, state, msg))
+        self.logger.info("%s %s: %s" % (req.reqid, state, msg))
 
         if state == 'declined':
             if self.review_mode == 'fallback-onfail':
-                self.logger.info("%s needs fallback reviewer"%req.reqid)
+                self.logger.info("%s needs fallback reviewer" % req.reqid)
                 self.add_review(req, by_group=by_group, by_user=by_user, 
msg="Automated review failed. Needs fallback reviewer.")
                 newstate = 'accepted'
         elif self.review_mode == 'fallback-always':
             self.add_review(req, by_group=by_group, by_user=by_user, 
msg='Adding fallback reviewer')
 
         if doit == True:
-            self.logger.debug("setting %s to %s"%(req.reqid, state))
+            self.logger.debug("setting %s to %s" % (req.reqid, state))
             if not self.dryrun:
                 try:
                     osc.core.change_review_state(apiurl=self.apiurl,
@@ -290,7 +290,7 @@
                         raise e
                     self.logger.info('unable to change review state (likely 
superseded or revoked)')
         else:
-            self.logger.debug("%s review not changed"%(req.reqid))
+            self.logger.debug("%s review not changed" % (req.reqid))
 
     # allow_duplicate=True should only be used if it makes sense to force a
     # re-review in a scenario where the bot adding the review will rerun.
@@ -506,7 +506,7 @@
         # to find the real package name
         (linkprj, linkpkg) = self._get_linktarget(a.src_project, pkgname)
         if linkpkg is None or linkprj is None or linkprj != a.tgt_project:
-            self.logger.warning("%s/%s is not a link to %s"%(a.src_project, 
pkgname, a.tgt_project))
+            self.logger.warning("%s/%s is not a link to %s" % (a.src_project, 
pkgname, a.tgt_project))
             return self.check_source_submission(a.src_project, a.src_package, 
a.src_rev, a.tgt_project, a.tgt_package)
         else:
             pkgname = linkpkg
@@ -527,7 +527,7 @@
 
     def check_source_submission(self, src_project, src_package, src_rev, 
target_project, target_package):
         """ default implemention does nothing """
-        self.logger.info("%s/%s@%s -> %s/%s"%(src_project, src_package, 
src_rev, target_project, target_package))
+        self.logger.info("%s/%s@%s -> %s/%s" % (src_project, src_package, 
src_rev, target_project, target_package))
         return None
 
     @staticmethod
@@ -748,7 +748,7 @@
 
     def _check_matching_srcmd5(self, project, package, rev, history_limit = 5):
         """check if factory sources contain the package and revision. check 
head and history"""
-        self.logger.debug("checking %s in %s"%(package, project))
+        self.logger.debug("checking %s in %s" % (package, project))
         try:
             osc.core.show_package_meta(self.apiurl, project, package)
         except (HTTPError, URLError):
@@ -777,9 +777,9 @@
                 node = revision.find('srcmd5')
                 if node is None:
                     continue
-                self.logger.debug("checking %s"%node.text)
+                self.logger.debug("checking %s" % node.text)
                 if node.text == rev:
-                    self.logger.debug("got it, rev %s"%revision.get('rev'))
+                    self.logger.debug("got it, rev %s" % revision.get('rev'))
                     return True
                 if i == history_limit:
                     break
@@ -949,14 +949,14 @@
                 self.logger.exception(e)
 
             if os.isatty(0):
-                self.logger.info("sleeping %d minutes. Press enter to check 
now ..."%interval)
-                signal.alarm(interval*60)
+                self.logger.info("sleeping %d minutes. Press enter to check 
now ..." % interval)
+                signal.alarm(interval * 60)
                 try:
                     input()
                 except ExTimeout:
                     pass
                 signal.alarm(0)
-                self.logger.info("recheck at 
%s"%datetime.datetime.now().isoformat())
+                self.logger.info("recheck at %s" % 
datetime.datetime.now().isoformat())
             else:
                 self.logger.info("sleeping %d minutes." % interval)
                 time.sleep(interval * 60)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20191126.ac861592/ToolBase.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/ToolBase.py
--- old/openSUSE-release-tools-20191126.ac861592/ToolBase.py    2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/ToolBase.py    2019-11-27 
12:43:57.000000000 +0100
@@ -28,7 +28,7 @@
     """ Yield successive n-sized chunks from l.
     """
     for i in range(0, len(l), n):
-        yield l[i:i+n]
+        yield l[i:i + n]
 
 class ToolBase(object):
     def __init__(self):
@@ -107,7 +107,6 @@
         query = [] if not query else query
         return osc.core.makeurl(self.apiurl, l, query)
 
-
     def process(self, packages):
         """ reimplement this """
         True
@@ -181,14 +180,14 @@
                 logger.exception(e)
 
             if interval:
-                logger.info("sleeping %d minutes. Press enter to check now 
..."%interval)
-                signal.alarm(interval*60)
+                logger.info("sleeping %d minutes. Press enter to check now 
..." % interval)
+                signal.alarm(interval * 60)
                 try:
                     input()
                 except ExTimeout:
                     pass
                 signal.alarm(0)
-                logger.info("recheck at 
%s"%datetime.datetime.now().isoformat())
+                logger.info("recheck at %s" % 
datetime.datetime.now().isoformat())
                 continue
             break
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/biarchtool.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/biarchtool.py
--- old/openSUSE-release-tools-20191126.ac861592/biarchtool.py  2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/biarchtool.py  2019-11-27 
12:43:57.000000000 +0100
@@ -114,8 +114,8 @@
             if ':Rings' in self.project:
                 self.biarch_packages = set()
             else:
-                self.biarch_packages = 
set(self.meta_get_packagelist("%s:Rings:0-Bootstrap"%self.project))
-                self.biarch_packages |= 
set(self.meta_get_packagelist("%s:Rings:1-MinimalX"%self.project))
+                self.biarch_packages = 
set(self.meta_get_packagelist("%s:Rings:0-Bootstrap" % self.project))
+                self.biarch_packages |= 
set(self.meta_get_packagelist("%s:Rings:1-MinimalX" % self.project))
 
         self._init_rdeps()
         self.fill_package_meta()
@@ -249,7 +249,6 @@
                 except HTTPError as e:
                     logger.error('failed to update %s: %s', pkg, e)
 
-
     def enable_baselibs_packages(self, force=False, wipebinaries=False):
         self._init_biarch_packages()
         todo = dict()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20191126.ac861592/bugowner.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/bugowner.py
--- old/openSUSE-release-tools-20191126.ac861592/bugowner.py    2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/bugowner.py    2019-11-27 
12:43:57.000000000 +0100
@@ -120,7 +120,7 @@
             user = srcrev['user']
 
         if self.is_release_manager(user):
-            logging.debug("%s was last touched by %s, ignored."%(package, 
user))
+            logging.debug("%s was last touched by %s, ignored." % (package, 
user))
             return None
 
         return [ Owner('person', user) ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/build-fail-reminder.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/build-fail-reminder.py
--- old/openSUSE-release-tools-20191126.ac861592/build-fail-reminder.py 
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/build-fail-reminder.py 
2019-11-27 12:43:57.000000000 +0100
@@ -15,14 +15,14 @@
 import email.utils
 
 # for maintainer search
-FACTORY='openSUSE:Factory'
+FACTORY = 'openSUSE:Factory'
 
 class RemindedPackage(object):
     def __init__(self, firstfail, reminded, remindCount, bug):
-        self.firstfail=firstfail
-        self.reminded=reminded
-        self.bug=bug
-        self.remindCount=remindCount
+        self.firstfail = firstfail
+        self.reminded = reminded
+        self.bug = bug
+        self.remindCount = remindCount
 
     def __str__(self):
         return '{} {} {} {}'.format(self.firstfail, self.reminded, self.bug, 
self.remindCount)
@@ -98,7 +98,7 @@
     sender = args.sender
     project = args.project
 
-    logger.debug('loading build fails for %s'%project)
+    logger.debug('loading build fails for %s' % project)
     url = osc.core.makeurl(apiurl, ['projects', project, 'status'],
         { 'ignore_pending': True,
            'limit_to_fails': True,
@@ -135,13 +135,13 @@
             if not package["name"] in RemindedLoaded.keys():
                 # This is the first time we see this package failing for > 7 
days
                 reminded = now
-                bug=""
+                bug = ""
                 remindCount = 1
             else:
                 if RemindedLoaded[package["name"]]["reminded"] < now - 
seconds_to_remember:
                     # We had seen this package in the last run - special 
treatment
                     reminded = now
-                    bug="boo#123"
+                    bug = "boo#123"
                     remindCount = 
RemindedLoaded[package["name"]]["remindCount"] + 1
                 else:
                     reminded = RemindedLoaded[package["name"]]["reminded"]
@@ -173,7 +173,7 @@
                     to = Person[userid][2]
                     fullname = Person[userid][1]
                     subject = '%s - %s - Build fail notification' % (project, 
package)
-                    text = MAIL_TEMPLATES[Reminded[package].remindCount-1] % {
+                    text = MAIL_TEMPLATES[Reminded[package].remindCount - 1] % 
{
                                 'recipient': fullname,
                                 'sender': sender,
                                 'project' : project,
@@ -235,7 +235,7 @@
     args = parser.parse_args()
 
     if args.debug:
-        level  = logging.DEBUG
+        level = logging.DEBUG
     elif args.verbose:
         level = logging.INFO
     else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/check_maintenance_incidents.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/check_maintenance_incidents.py
--- old/openSUSE-release-tools-20191126.ac861592/check_maintenance_incidents.py 
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/check_maintenance_incidents.py 
2019-11-27 12:43:57.000000000 +0100
@@ -100,18 +100,18 @@
             known_maintainer = False
             for m in maintainers:
                 if author == m:
-                    self.logger.debug("%s is maintainer"%author)
+                    self.logger.debug("%s is maintainer" % author)
                     known_maintainer = True
             if not known_maintainer:
                 for r in req.reviews:
                     if r.by_user in maintainers:
-                        self.logger.debug("found %s as reviewer"%r.by_user)
+                        self.logger.debug("found %s as reviewer" % r.by_user)
                         known_maintainer = True
             if not known_maintainer:
-                self.logger.debug("author: %s, maintainers: %s => need 
review"%(author, ','.join(maintainers)))
+                self.logger.debug("author: %s, maintainers: %s => need review" 
% (author, ','.join(maintainers)))
                 self.needs_maintainer_review.add(pkgname)
         else:
-            self.logger.warning("%s doesn't have maintainers"%pkgname)
+            self.logger.warning("%s doesn't have maintainers" % pkgname)
             self.needs_maintainer_review.add(pkgname)
 
     def check_action_maintenance_incident(self, req, a):
@@ -137,7 +137,6 @@
 
         return True
 
-
     def check_one_request(self, req):
         self.add_factory_source = False
         self.needs_maintainer_review = set()
@@ -153,7 +152,7 @@
                     break
 
         if self.add_factory_source:
-            self.logger.debug("%s needs review by factory-source"%req.reqid)
+            self.logger.debug("%s needs review by factory-source" % req.reqid)
             self.add_review(req, by_user='factory-source')
 
         if self.needs_maintainer_review:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/check_source.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/check_source.py
--- old/openSUSE-release-tools-20191126.ac861592/check_source.py        
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/check_source.py        
2019-11-27 12:43:57.000000000 +0100
@@ -215,7 +215,7 @@
     def suppresses_whitelist_warnings( self, source_project, source_package ):
         # checks if there's a rpmlintrc that suppresses warnings that we check
         found_entries = set()
-        contents = source_file_load(self.apiurl, source_project, 
source_package, source_package+'-rpmlintrc')
+        contents = source_file_load(self.apiurl, source_project, 
source_package, source_package + '-rpmlintrc')
         if contents:
             contents = re.sub(r'(?m)^ *#.*\n?', '', contents)
             matches = re.findall(r'addFilter\(["\']([^"\']+)["\']\)', contents)
@@ -250,7 +250,7 @@
                     result = osc.core.http_GET(url)
                     contents = str(result.read())
                     for entry in self.bad_rpmlint_entries:
-                        if (': W: '+entry in contents) and not (entry in 
found_entries):
+                        if (': W: ' + entry in contents) and not (entry in 
found_entries):
                             self.logger.info(f'found missing whitelist for 
warning: {entry}')
                             found_entries.add(entry)
                 except HTTPError as e:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/check_source_in_factory.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/check_source_in_factory.py
--- old/openSUSE-release-tools-20191126.ac861592/check_source_in_factory.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/check_source_in_factory.py     
2019-11-27 12:43:57.000000000 +0100
@@ -100,7 +100,7 @@
         for req in requests:
             for a in req.actions:
                 si = self.get_sourceinfo(prjprefix + a.src_project, 
a.src_package, a.src_rev)
-                self.logger.debug("rq %s: %s/%s@%s"%(req.reqid, prjprefix + 
a.src_project, a.src_package, si.verifymd5))
+                self.logger.debug("rq %s: %s/%s@%s" % (req.reqid, prjprefix + 
a.src_project, a.src_package, si.verifymd5))
                 if si.verifymd5 == rev:
                     if req.state.name == 'new':
                         self.logger.info("%s ok", srref(req.reqid))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/compare_pkglist.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/compare_pkglist.py
--- old/openSUSE-release-tools-20191126.ac861592/compare_pkglist.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/compare_pkglist.py     
2019-11-27 12:43:57.000000000 +0100
@@ -111,7 +111,7 @@
     def submit_new_package(self, source, target, package, msg=None):
         req = osc.core.get_request_list(self.apiurl, target, package, 
req_state=('new', 'review', 'declined'))
         if req:
-            print("There is a request to %s / %s already, skip!"%(target, 
package))
+            print("There is a request to %s / %s already, skip!" % (target, 
package))
         else:
             if not msg:
                 msg = 'New package submitted by compare_pkglist'
@@ -131,10 +131,10 @@
                 return
             if self.submitfrom and self.submitto:
                 if not self.item_exists(self.submitfrom):
-                    print("Project %s is not exist"%self.submitfrom)
+                    print("Project %s is not exist" % self.submitfrom)
                     return
                 if not self.item_exists(self.submitto):
-                    print("Project %s is not exist"%self.submitto)
+                    print("Project %s is not exist" % self.submitto)
                     return
 
         # get souce packages from target
@@ -180,7 +180,7 @@
 
                         if self.submitfrom and self.submitto:
                             if not self.item_exists(self.submitfrom, pkg):
-                                print("%s not found in %s"%(pkg, 
self.submitfrom))
+                                print("%s not found in %s" % (pkg, 
self.submitfrom))
                                 continue
                             msg = "Automated submission of a package from %s 
to %s" % (self.submitfrom, self.submitto)
                             if self.existin:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20191126.ac861592/deptool.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/deptool.py
--- old/openSUSE-release-tools-20191126.ac861592/deptool.py     2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/deptool.py     2019-11-27 
12:43:57.000000000 +0100
@@ -219,7 +219,7 @@
             for s in sel.solvables():
                 print('- {}-{}@{}:'.format(s.name, s.evr, s.arch))
                 for kind in ('RECOMMENDS', 'REQUIRES', 'SUPPLEMENTS', 
'ENHANCES', 'PROVIDES', 'SUGGESTS'):
-                    deps = s.lookup_deparray(getattr(solv, 'SOLVABLE_'+kind), 
0)
+                    deps = s.lookup_deparray(getattr(solv, 'SOLVABLE_' + 
kind), 0)
                     if deps:
                         print('  {}:'.format(kind))
                         for dep in deps:
@@ -260,7 +260,7 @@
                 name = str(dep)
                 if name.startswith('pattern-order()'):
                     # XXX: no function in bindings to do that properly
-                    order = name[name.find('= ')+2:]
+                    order = name[name.find('= ') + 2:]
             print("{} {}".format(order, s.name))
 
     @cmdln.option("--providers", action="store_true",
@@ -283,7 +283,7 @@
             kinds.append('PROVIDES')
 
         for kind in kinds:
-            kindid = getattr(solv, 'SOLVABLE_'+kind, 0)
+            kindid = getattr(solv, 'SOLVABLE_' + kind, 0)
             kindprinted = False
             if opts.relation:
                 # FIXME: doesnt work
@@ -335,7 +335,7 @@
             p = self.pool.str2id(r)
             for kind in kinds:
                 kindprinted = False
-                kindid = getattr(solv, 'SOLVABLE_'+kind, 0)
+                kindid = getattr(solv, 'SOLVABLE_' + kind, 0)
                 sel = self.pool.matchdepid(p, solv.Selection.SELECTION_REL | 
solv.Selection.SELECTION_FLAT, kindid)
                 if sel.isempty():
                     logger.debug('nothing %s %s', kind.lower(), p)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/announcer.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/announcer.py
--- 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/announcer.py  
    2019-11-26 17:04:05.000000000 +0100
+++ 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/announcer.py  
    2019-11-27 12:43:57.000000000 +0100
@@ -90,7 +90,7 @@
 
     m = re.search(r'(?:Snapshot|Build)([\d.]+)-Media', loc)
     if m is None:
-        raise Exception("failed to parse %s"%loc)
+        raise Exception("failed to parse %s" % loc)
 
     version = m.group(1)
     logger.debug("found version %s", version)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/factory-package-news-web.py
 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/factory-package-news-web.py
--- 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/factory-package-news-web.py
       2019-11-26 17:04:05.000000000 +0100
+++ 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/factory-package-news-web.py
       2019-11-27 12:43:57.000000000 +0100
@@ -30,7 +30,7 @@
     for i in sorted(os.listdir(_dir), reverse=True):
         if not digits_re.match(i):
             continue
-        ret = ret + '<a href="diff/%s">%s</a>'%(i, i)
+        ret = ret + '<a href="diff/%s">%s</a>' % (i, i)
         if i == current:
             ret = ret + " &lt;--"
         ret = ret + '<br/>'
@@ -48,7 +48,7 @@
             return "malformed version", 400
         if not os.path.exists(os.path.join(_dir, version)):
             return "invalid version", 400
-        tmpfn = os.path.join(_dir, '.'+version)
+        tmpfn = os.path.join(_dir, '.' + version)
         app.logger.debug(tmpfn)
         if os.path.exists(tmpfn):
             os.unlink(tmpfn)
@@ -69,7 +69,7 @@
     if not os.path.exists(os.path.join(_dir, version)):
         return "invalid version", 400
     import subprocess
-    cmd = 
[os.path.dirname(os.path.abspath(__file__))+'/factory-package-news.py', \
+    cmd = [os.path.dirname(os.path.abspath(__file__)) + 
'/factory-package-news.py', \
             'diff', '--dir', _dir, "current", version]
     app.logger.debug(cmd)
     response = make_response(subprocess.check_output(cmd))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/factory-package-news.py
 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/factory-package-news.py
--- 
old/openSUSE-release-tools-20191126.ac861592/factory-package-news/factory-package-news.py
   2019-11-26 17:04:05.000000000 +0100
+++ 
new/openSUSE-release-tools-20191127.ae1b6ea1/factory-package-news/factory-package-news.py
   2019-11-27 12:43:57.000000000 +0100
@@ -78,9 +78,9 @@
                 'kernel-vanilla',
                 'kernel-xen',
                 ):
-                srpm = '%s-%s-%s.src.rpm'%('kernel-source', 
m.group('version'), m.group('release'))
+                srpm = '%s-%s-%s.src.rpm' % ('kernel-source', 
m.group('version'), m.group('release'))
                 pkgdata[binrpm]['sourcerpm'] = srpm
-                print("%s -> %s"%(str(h['sourcerpm'], 'utf-8'), srpm))
+                print("%s -> %s" % (str(h['sourcerpm'], 'utf-8'), srpm))
 
             if srpm in changelogs:
                 changelogs[srpm]['packages'].append(binrpm)
@@ -100,7 +100,7 @@
                 fd = os.open(arg, os.O_RDONLY)
 
                 if not iso.is_open() or fd is None:
-                    raise Exception("Could not open %s as an ISO-9660 image." 
%  arg)
+                    raise Exception("Could not open %s as an ISO-9660 image." 
% arg)
 
                 # On Tumbleweed, there is no '/suse' prefix
                 for path in ['/suse/x86_64', '/suse/noarch', '/suse/aarch64', 
'/suse/s390x',
@@ -111,15 +111,15 @@
 
                     for stat in file_stats:
                         filename = stat[0]
-                        LSN      = stat[1]
-                        size     = stat[2]
+                        LSN = stat[1]
+                        size = stat[2]
                         sec_size = stat[3]
-                        is_dir   = stat[4] == 2
+                        is_dir = stat[4] == 2
 #                       print("%s [LSN %6d] %8d %s%s" % (dir_tr[is_dir], LSN, 
size, path,
 #                           iso9660.name_translate(filename)))
 
                         if (filename.endswith('.rpm')):
-                            os.lseek(fd, LSN*pycdio.ISO_BLOCKSIZE, io.SEEK_SET)
+                            os.lseek(fd, LSN * pycdio.ISO_BLOCKSIZE, 
io.SEEK_SET)
                             h = self.ts.hdrFromFdno(fd)
                             _getdata(h)
 
@@ -133,7 +133,7 @@
                         h = self.readRpmHeader( pkg )
                         _getdata(h)
             else:
-                raise Exception("don't know what to do with %s"%arg)
+                raise Exception("don't know what to do with %s" % arg)
 
         return pkgdata, changelogs
 
@@ -149,7 +149,7 @@
         if not opts.dir:
             raise Exception("need --dir option")
         if not os.path.isdir(opts.dir):
-            raise Exception("%s must be a directory"%opts.dir)
+            raise Exception("%s must be a directory" % opts.dir)
         if not opts.snapshot:
             raise Exception("missing snapshot option")
 
@@ -176,7 +176,6 @@
         pprint(pkgs[package])
         pprint(changelogs[pkgs[package]['sourcerpm']])
 
-
     def _get_packages_grouped(self, pkgs, names):
         group = dict()
         for pkg in names:
@@ -186,7 +185,6 @@
                 group[pkgs[pkg]['sourcerpm']].append(pkg)
         return group
 
-
     @cmdln.option("--dir", action="store", type='string', dest='dir', 
help="data directory")
     def do_diff(self, subcmd, opts, version1, version2):
         """${cmd_name}: diff two snapshots
@@ -197,24 +195,24 @@
         if not opts.dir:
             raise Exception("need --dir option")
         if not os.path.isdir(opts.dir):
-            raise Exception("%s must be a directory"%opts.dir)
+            raise Exception("%s must be a directory" % opts.dir)
 
         f = open(os.path.join(opts.dir, version1), 'rb')
         (v, (v1pkgs, v1changelogs)) = pickle.load(f,
             encoding='utf-8', errors='backslashreplace')
         if v != data_version:
-            raise Exception("not matching version %s in %s"%(v, version1))
+            raise Exception("not matching version %s in %s" % (v, version1))
         f = open(os.path.join(opts.dir, version2), 'rb')
         (v, (v2pkgs, v2changelogs)) = pickle.load(f,
             encoding='utf-8', errors='backslashreplace')
         if v != data_version:
-            raise Exception("not matching version %s in %s"%(v, version2))
+            raise Exception("not matching version %s in %s" % (v, version2))
 
         p1 = set(v1pkgs.keys())
         p2 = set(v2pkgs.keys())
 
         print('Packages changed:')
-        group = self._get_packages_grouped(v2pkgs, p1&p2)
+        group = self._get_packages_grouped(v2pkgs, p1 & p2)
 #        pprint(p1&p2)
 #        pprint(group)
 #        print "  "+"\n  ".join(["\n   * ".join(sorted(group[s])) for s in 
sorted(group.keys()) ])
@@ -240,7 +238,7 @@
             if t1 == v2changelogs[srpm]['changelogtime'][0]:
                 continue # no new changelog entry, probably just rebuilt
             pkgs = sorted(group[srpm])
-            details += "\n==== %s ====\n"%name
+            details += "\n==== %s ====\n" % name
             if v1pkgs[pkgs[0]]['version'] != v2pkgs[pkgs[0]]['version']:
                 print("  %s (%s -> %s)" % (name, v1pkgs[pkgs[0]]['version'],
                                            v2pkgs[pkgs[0]]['version']))
@@ -249,7 +247,7 @@
             else:
                 print("  %s" % name)
             if len(pkgs) > 1:
-                details += "Subpackages: %s\n"%" ".join([p for p in pkgs if p 
!= name])
+                details += "Subpackages: %s\n" % " ".join([p for p in pkgs if 
p != name])
             for (i2, t2) in enumerate(v2changelogs[srpm]['changelogtime']):
                 if t2 == t1:
                     break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/fcc_submitter.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/fcc_submitter.py
--- old/openSUSE-release-tools-20191126.ac861592/fcc_submitter.py       
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/fcc_submitter.py       
2019-11-27 12:43:57.000000000 +0100
@@ -254,7 +254,7 @@
     def is_sle_base_pkgs(self, package):
         link = self.get_link(self.to_prj, package)
         if link is None or link.get('project') not in self.sle_base_prjs:
-            logging.debug("%s not from SLE base"%package)
+            logging.debug("%s not from SLE base" % package)
             return False
         return True
 
@@ -263,7 +263,7 @@
         succeeded_packages = []
         succeeded_packages = self.get_build_succeeded_packages(self.from_prj)
         if not len(succeeded_packages) > 0:
-            logging.info('No build succeeded package in %s'%self.from_prj)
+            logging.info('No build succeeded package in %s' % self.from_prj)
             return
 
         print('Build succeeded packages:')
@@ -300,7 +300,7 @@
         succeeded_packages = []
         succeeded_packages = self.get_build_succeeded_packages(self.from_prj)
         if not len(succeeded_packages) > 0:
-            logging.info('No build succeeded package in %s'%self.from_prj)
+            logging.info('No build succeeded package in %s' % self.from_prj)
             return
 
         # randomize the list
@@ -321,11 +321,11 @@
             submit_ok = True
 
             if package in deleted_packages:
-                logging.info('%s has been dropped from %s, ignore 
it!'%(package, self.to_prj))
+                logging.info('%s has been dropped from %s, ignore it!' % 
(package, self.to_prj))
                 submit_ok = False
 
             if self.is_sle_base_pkgs(package) is True:
-                logging.info('%s origin from SLE base, skip for now!'%package)
+                logging.info('%s origin from SLE base, skip for now!' % 
package)
                 submit_ok = False
 
             # make sure it is new package
@@ -336,18 +336,18 @@
 
             multi_specs = self.check_multiple_specfiles(self.factory, package)
             if multi_specs is None:
-                logging.info('%s does not exist in %s'%(package, 
'openSUSE:Factory'))
+                logging.info('%s does not exist in %s' % (package, 
'openSUSE:Factory'))
                 submit_ok = False
 
             if multi_specs:
                 if multi_specs['linkinfo']:
-                    logging.info('%s in %s is sub-package of %s, skip 
it!'%(package, 'openSUSE:Factory', multi_specs['linkinfo']))
+                    logging.info('%s in %s is sub-package of %s, skip it!' % 
(package, 'openSUSE:Factory', multi_specs['linkinfo']))
                     ms_packages.append(package)
                     submit_ok = False
 
                 for spec in multi_specs['specs']:
                     if spec not in succeeded_packages:
-                        logging.info('%s is sub-pacakge of %s but build 
failed, skip it!'%(spec, package))
+                        logging.info('%s is sub-pacakge of %s but build 
failed, skip it!' % (spec, package))
                         submit_ok = False
 
             if not submit_ok:
@@ -358,9 +358,9 @@
                 # make sure there is no request against same package
                 request = self.get_request_list(package)
                 if request:
-                    logging.debug("There is a request to %s / %s already or it 
has been declined/revoked, skip!"%(package, self.to_prj))
+                    logging.debug("There is a request to %s / %s already or it 
has been declined/revoked, skip!" % (package, self.to_prj))
                 else:
-                    logging.info("%d - Preparing submit %s to %s"%(i, package, 
self.to_prj))
+                    logging.info("%d - Preparing submit %s to %s" % (i, 
package, self.to_prj))
                     # get devel project
                     devel_prj, devel_pkg = devel_project_get(self.apiurl, 
self.factory, package)
                     # check devel project does not in the skip list
@@ -397,7 +397,7 @@
                     else:
                         logging.error('Error occurred when creating submit 
request')
             else:
-                logging.debug('%s is exist in %s, skip!'%(package, 
self.to_prj))
+                logging.debug('%s is exist in %s, skip!' % (package, 
self.to_prj))
 
         # dump multi specs packages
         print("Multi-specfile packages:")
@@ -408,7 +408,6 @@
             print('None')
 
 
-
 def main(args):
     # Configure OSC
     osc.conf.get_config(override_apiurl=args.apiurl)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/openSUSE-release-tools-20191126.ac861592/leaper.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/leaper.py
--- old/openSUSE-release-tools-20191126.ac861592/leaper.py      2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/leaper.py      2019-11-27 
12:43:57.000000000 +0100
@@ -93,7 +93,7 @@
                 project = project[len(prefix):]
                 break
 
-        return 
'[%(project)s/%(package)s](%(url)s/package/show/%(project)s/%(package)s)'%{
+        return 
'[%(project)s/%(package)s](%(url)s/package/show/%(project)s/%(package)s)' % {
                     'url': self._webui_from_api(apiurl),
                     'project': project,
                     'package': package,
@@ -113,7 +113,7 @@
                 target_project = target_project[len(prefix):]
                 break
 
-        return self.package_link(target_project, target_package) + ' 
([diff](%(url)s/package/rdiff/%(src_project)s/%(src_package)s?opackage=%(target_package)s&oproject=%(target_project)s&rev=%(src_rev)s))'%{
+        return self.package_link(target_project, target_package) + ' 
([diff](%(url)s/package/rdiff/%(src_project)s/%(src_package)s?opackage=%(target_package)s&oproject=%(target_project)s&rev=%(src_rev)s))'
 % {
                 'url': self._webui_from_api(apiurl),
                 'src_project': src_project,
                 'src_package': src_package,
@@ -206,12 +206,12 @@
                     if sle_version == 12:
                         versions_to_check = [ '42.3' ]
                     elif sle_version == 15:
-                        versions_to_check = [ '15.%d'%i for i in 
range(sp_version+1) ]
+                        versions_to_check = [ '15.%d' % i for i in 
range(sp_version + 1) ]
                     else:
                         self.logger.error("can't handle %d.%d", sle_version, 
sp_version)
 
                     for version in versions_to_check:
-                        leap = 'openSUSE.org:openSUSE:Leap:%s'%(version)
+                        leap = 'openSUSE.org:openSUSE:Leap:%s' % (version)
                         other_projects_to_check += [ leap, leap + ':Update', 
leap + ':NonFree', leap + ':NonFree:Update' ]
 
                 for prj in other_projects_to_check:
@@ -403,15 +403,15 @@
                     self.logger.debug("submission origin ok")
                     return True
                 elif origin.endswith(':GA') \
-                    and src_project == origin[:-2]+'Update':
+                    and src_project == origin[:-2] + 'Update':
                     self.logger.debug("sle update submission")
                     return True
 
                 # check  if submitted from higher SP
                 priolist = ['SUSE:SLE-15:', 'SUSE:SLE-15-SP1:', 
'SUSE:SLE-15-SP2:', 'SUSE:SLE-15-SP3:']
-                for i in range(len(priolist)-1):
+                for i in range(len(priolist) - 1):
                     if origin.startswith(priolist[i]):
-                        for prj in priolist[i+1:]:
+                        for prj in priolist[i + 1:]:
                             if src_project.startswith(prj):
                                 self.logger.info("submission from higher 
service pack %s:* ok", prj)
                                 return True
@@ -438,7 +438,7 @@
             subprj = src_project[len('openSUSE:Factory'):]
             # disabled for reference. Needed again for 16.0 probably
             if False and self.source_in_factory and 
target_project.startswith('openSUSE:Leap:15.0') \
-                and self.is_package_in_project('openSUSE:Leap:42.3'+subprj, 
package):
+                and self.is_package_in_project('openSUSE:Leap:42.3' + subprj, 
package):
                 self.logger.info('package was in 42.3')
                 self.do_check_maintainer_review = False
                 return True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/manager_42.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/manager_42.py
--- old/openSUSE-release-tools-20191126.ac861592/manager_42.py  2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/manager_42.py  2019-11-27 
12:43:57.000000000 +0100
@@ -153,7 +153,6 @@
         return self.cached_GET(makeurl(self.apiurl,
                                 ['source', project, package], opts))
 
-
     def crawl(self, packages):
         """Main method of the class that runs the crawler."""
 
@@ -218,7 +217,7 @@
         if (unknown):
             logger.info("unknown packages: %s", ', '.join(unknown))
 
-        return (stale|unknown)
+        return (stale | unknown)
 
     def get_package_history(self, project, package, deleted = False):
         try:
@@ -232,7 +231,6 @@
                 return None
             raise
 
-
     def _is_ignored(self, package):
         if package in self.config.ignored_packages:
             logger.debug("%s in ignore list", package)
@@ -262,7 +260,7 @@
             revs.append(rev.find('srcmd5').text)
         revs.reverse()
         for i in range(min(len(revs), 5)): # check last commits
-            srcmd5=revs.pop(0)
+            srcmd5 = revs.pop(0)
             root = self.cached_GET(makeurl(self.apiurl,
                                     ['source', project, package], { 'rev': 
srcmd5, 'view': 'info'}))
             root = ET.fromstring(root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osc-origin.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osc-origin.py
--- old/openSUSE-release-tools-20191126.ac861592/osc-origin.py  2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osc-origin.py  2019-11-27 
12:43:57.000000000 +0100
@@ -345,7 +345,6 @@
         for package, origins in sorted(package_diff.items()):
             report.append(line_format.format(package, *origins))
 
-
     body = '\n'.join(report)
     print(body)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/adi_command.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/adi_command.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/adi_command.py  
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/adi_command.py  
2019-11-27 12:43:57.000000000 +0100
@@ -75,7 +75,7 @@
                 print(e)
                 pass
         else:
-            ready=[]
+            ready = []
             for req in info.findall('staged_requests/request'):
                 ready.append('{}[{}]'.format(Fore.CYAN + req.get('package') + 
Fore.RESET, req.get('id')))
             if len(ready):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/cleanup_rings.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/cleanup_rings.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/cleanup_rings.py        
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/cleanup_rings.py        
2019-11-27 12:43:57.000000000 +0100
@@ -72,7 +72,6 @@
                                 print("osc linkpac -f {}/{} 
{}/{}".format(destring, mainpkg, prj, pkg))
                                 self.links[mainpkg] = pkg
 
-
     def fill_pkgdeps(self, prj, repo, arch):
         root = builddepinfo(self.api.apiurl,  prj, repo, arch)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/core.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/core.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/core.py 2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/core.py 2019-11-27 
12:43:57.000000000 +0100
@@ -109,7 +109,7 @@
     return users
 
 def package_list(apiurl, project):
-    url = makeurl(apiurl, ['source', project], { 'expand': 1 })
+    url = makeurl(apiurl, ['source', project], {'expand': 1})
     root = ET.parse(http_GET(url)).getroot()
 
     packages = []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/cpio.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/cpio.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/cpio.py 2019-11-26 
17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/cpio.py 2019-11-27 
12:43:57.000000000 +0100
@@ -14,7 +14,7 @@
         f = CpioFile(self.off, self.buf)
         if f.fin():
             raise StopIteration
-        self.off = self.off+f.length()
+        self.off = self.off + f.length()
         return f
 
 class CpioFile(object):
@@ -22,8 +22,8 @@
         self.off = off
         self.buf = buf
 
-        if off&3:
-            raise Exception("invalid offset %d"% off)
+        if (off & 3):
+            raise Exception("invalid offset %d" % off)
 
         fmt = "6s8s8s8s8s8s8s8s8s8s8s8s8s8s"
         off = self.off + struct.calcsize(fmt)
@@ -31,7 +31,7 @@
         fields = struct.unpack(fmt, buf[self.off:off])
 
         if fields[0] != "070701":
-            raise Exception("invalid cpio header %s"%self.c_magic)
+            raise Exception("invalid cpio header %s" % self.c_magic)
 
         names = ("c_ino", "c_mode", "c_uid", "c_gid",
                 "c_nlink", "c_mtime", "c_filesize",
@@ -41,25 +41,25 @@
             setattr(self, n, int(v, 16))
 
         nlen = self.c_namesize - 1
-        self.name = struct.unpack('%ds'%nlen, buf[off:off+nlen])[0]
+        self.name = struct.unpack('%ds' % nlen, buf[off:off + nlen])[0]
         off = off + nlen + 1
-        if off&3:
-            off = off + 4-(off&3) # padding
+        if (off & 3):
+            off = off + 4 - (off & 3)   # padding
         self.payloadstart = off
 
     def fin(self):
         return self.name == 'TRAILER!!!'
 
     def __str__(self):
-        return "[%s %d]"%(self.name, self.c_filesize)
+        return "[%s %d]" % (self.name, self.c_filesize)
 
     def header(self):
-        return self.buf[self.payloadstart:self.payloadstart+self.c_filesize]
+        return self.buf[self.payloadstart:self.payloadstart + self.c_filesize]
 
     def length(self):
-        l = self.payloadstart-self.off + self.c_filesize
-        if self.c_filesize&3:
-            l = l + 4-(self.c_filesize&3)
+        l = self.payloadstart - self.off + self.c_filesize
+        if (self.c_filesize & 3):
+            l = l + 4 - (self.c_filesize & 3)
         return l
 
 if __name__ == '__main__':
@@ -79,4 +79,3 @@
             ofh = open(i.name, 'wb')
             ofh.write(i.header())
             ofh.close()
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/memoize.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/memoize.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/memoize.py      
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/memoize.py      
2019-11-27 12:43:57.000000000 +0100
@@ -72,7 +72,7 @@
     # Configuration variables
     SLOTS = 4096            # Number of slots in the cache file
     NCLEAN = 1024           # Number of slots to remove when limit reached
-    TIMEOUT = 60*60*2       # Time to live for every cache slot (seconds)
+    TIMEOUT = 60 * 60 * 2   # Time to live for every cache slot (seconds)
     memoize.session_functions = []
 
     def _memoize(fn):
@@ -156,7 +156,7 @@
             cache = _open_cache(cache_name)
             if key in cache:
                 timestamp, value = cache[key]
-                updated = True if total_seconds(now-timestamp) < ttl else False
+                updated = True if total_seconds(now - timestamp) < ttl else 
False
             if not updated:
                 value = fn(*args, **kwargs)
                 cache[key] = (now, value)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/prio_command.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/prio_command.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/prio_command.py 
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/prio_command.py 
2019-11-27 12:43:57.000000000 +0100
@@ -22,7 +22,7 @@
 
         # XXX taking name verbatim would produce null byte error
         # https://github.com/openSUSE/open-build-service/issues/2493
-        message = 'raising priority for %s'%str(project['name'])
+        message = 'raising priority for %s' % str(project['name'])
         for r in project['missing_reviews']:
             reqid = str(r['request'])
             req = osc.core.get_request(self.api.apiurl, reqid)
@@ -36,7 +36,6 @@
                 except HTTPError as e:
                     print(e)
 
-
     def perform(self, projects=None, priority=None):
         """
         Set priority on specific stagings or all of them at once
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/repochecks.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/repochecks.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/repochecks.py   
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/repochecks.py   
2019-11-27 12:43:57.000000000 +0100
@@ -93,7 +93,8 @@
     if not len(target_packages):
         return reported_problems
 
-    p = subprocess.run(['/usr/bin/installcheck', arch, pfile], 
stdout=subprocess.PIPE, text=True)
+    p = subprocess.run(['/usr/bin/installcheck', arch, pfile],
+                       stdout=subprocess.PIPE, errors='backslashreplace', 
text=True)
     if p.returncode:
         in_problem = False
         package = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/request_splitter.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/request_splitter.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/request_splitter.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/request_splitter.py     
2019-11-27 12:43:57.000000000 +0100
@@ -19,7 +19,7 @@
         # 55 minutes to avoid two staging bot loops of 30 minutes
         self.request_age_threshold = 
int(self.config.get('splitter-request-age-threshold', 55 * 60))
         self.staging_age_max = int(self.config.get('splitter-staging-age-max', 
8 * 60 * 60))
-        special_packages= self.config.get('splitter-special-packages')
+        special_packages = self.config.get('splitter-special-packages')
         if special_packages is not None:
             StrategySpecial.PACKAGES = special_packages.split(' ')
 
@@ -150,7 +150,7 @@
             ring = self.api.ring_packages_for_links.get(target_package)
             if ring:
                 # Cut off *:Rings: prefix.
-                return ring[len(self.api.crings)+1:]
+                return ring[len(self.api.crings) + 1:]
         else:
             # Projects not using rings handle all requests as ring requests.
             return self.api.project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/select_command.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/select_command.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/select_command.py       
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/select_command.py       
2019-11-27 12:43:57.000000000 +0100
@@ -66,7 +66,7 @@
             int(self.api.packages_staged[package]['rq_id']): package for 
package in self.api.packages_staged
         }
         if request in staged_requests:
-            supersede =  self._supersede(request)
+            supersede = self._supersede(request)
 
         if request not in staged_requests and not supersede:
             # Normal 'select' command
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/osclib/stagingapi.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/stagingapi.py
--- old/openSUSE-release-tools-20191126.ac861592/osclib/stagingapi.py   
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/osclib/stagingapi.py   
2019-11-27 12:43:57.000000000 +0100
@@ -174,7 +174,6 @@
                 if (retry_sleep_seconds % 60):
                     retry_sleep_seconds += 1
 
-
     def retried_GET(self, url):
         return self._retried_request(url, http_GET)
 
@@ -884,7 +883,7 @@
         root = ET.fromstring(self._fetch_project_meta(project))
         for entry in root.findall('entry'):
             if entry.get('name') == '_frozenlinks':
-                return (time.time() - float(entry.get('mtime')))/3600/24
+                return (time.time() - float(entry.get('mtime'))) / 3600 / 24
         return 100000  # quite some!
 
     def rq_to_prj(self, request_id, project):
@@ -948,7 +947,7 @@
 
     def linked_packages(self, package, project=None):
         if not project:
-            project=self.project
+            project = self.project
 
         url = self.makeurl(['source', project, package], { 'cmd': 'showlinked' 
})
         f = http_POST(url)
@@ -1436,7 +1435,7 @@
             http_POST(url, data=ET.tostring(root))
 
     def register_new_staging_project(self, name):
-        
data='<workflow><staging_project>{}</staging_project></workflow>'.format(name)
+        data = 
'<workflow><staging_project>{}</staging_project></workflow>'.format(name)
         url = self.makeurl(['staging', self.project, 'staging_projects'])
         try:
             http_POST(url, data=data)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/pkglistgen/tool.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/pkglistgen/tool.py
--- old/openSUSE-release-tools-20191126.ac861592/pkglistgen/tool.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/pkglistgen/tool.py     
2019-11-27 12:43:57.000000000 +0100
@@ -395,7 +395,7 @@
                 # FIXME: port to lzma module with python3
                 st = subprocess.call(['xz', '-cd', oldrepo], stdout=f.fileno())
                 os.lseek(f.fileno(), 0, os.SEEK_SET)
-                oldsysrepo.add_susetags(solv.xfopen_fd(None, f.fileno()), 
defvendorid, None, 
solv.Repo.REPO_NO_INTERNALIZE|solv.Repo.SUSETAGS_RECORD_SHARES)
+                oldsysrepo.add_susetags(solv.xfopen_fd(None, f.fileno()), 
defvendorid, None, solv.Repo.REPO_NO_INTERNALIZE | 
solv.Repo.SUSETAGS_RECORD_SHARES)
 
                 for arch in self.all_architectures:
                     for project, repo in self.repos:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/pkglistgen/update_repo_handler.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/pkglistgen/update_repo_handler.py
--- 
old/openSUSE-release-tools-20191126.ac861592/pkglistgen/update_repo_handler.py  
    2019-11-26 17:04:05.000000000 +0100
+++ 
new/openSUSE-release-tools-20191127.ae1b6ea1/pkglistgen/update_repo_handler.py  
    2019-11-27 12:43:57.000000000 +0100
@@ -128,7 +128,7 @@
         f.write(content.read())
         f.flush()
         os.lseek(f.fileno(), 0, os.SEEK_SET)
-        repo.add_susetags(f, defvendorid, None, 
solv.Repo.REPO_NO_INTERNALIZE|solv.Repo.SUSETAGS_RECORD_SHARES)
+        repo.add_susetags(f, defvendorid, None, solv.Repo.REPO_NO_INTERNALIZE 
| solv.Repo.SUSETAGS_RECORD_SHARES)
         return True
     return False
 
@@ -220,7 +220,7 @@
                 # FIXME: port to lzma module with python3
                 st = subprocess.call(['xz', '-cd', file], stdout=f.fileno())
                 os.lseek(f.fileno(), 0, os.SEEK_SET)
-                repo.add_susetags(solv.xfopen_fd(None, f.fileno()), 
defvendorid, None, 
solv.Repo.REPO_NO_INTERNALIZE|solv.Repo.SUSETAGS_RECORD_SHARES)
+                repo.add_susetags(solv.xfopen_fd(None, f.fileno()), 
defvendorid, None, solv.Repo.REPO_NO_INTERNALIZE | 
solv.Repo.SUSETAGS_RECORD_SHARES)
 
         repo1 = pool.add_repo(''.join(random.choice(string.ascii_letters) for 
_ in range(5)))
         repo1.add_solv(solv_file)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/suppkg_rebuild.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/suppkg_rebuild.py
--- old/openSUSE-release-tools-20191126.ac861592/suppkg_rebuild.py      
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/suppkg_rebuild.py      
2019-11-27 12:43:57.000000000 +0100
@@ -102,7 +102,7 @@
         logging.info('Gathering support package list from %s' % self.project)
         support_pkgs = self.get_support_package_list(self.project, 'standard')
         files = self.process_project_binarylist(self.project, 'standard', 
'x86_64')
-        staging_projects = ["%s:%s"%(self.api.cstaging, p) for p in 
self.api.get_staging_projects_short()]
+        staging_projects = ["%s:%s" % (self.api.cstaging, p) for p in 
self.api.get_staging_projects_short()]
         cand_sources = defaultdict(list)
         for stg in staging_projects:
             status = self.api.project_status(stg, status=False)
@@ -125,7 +125,7 @@
             if suppkg_list:
                 suppkgs = suppkg_list.split(',')
 
-            stgname =  stg.get('name')
+            stgname = stg.get('name')
             if len(cand_sources[stgname]) and rebuild == 'unknown':
                 need_rebuild = True
                 stg.find('rebuild').text = 'needed'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/sync-rebuild.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/sync-rebuild.py
--- old/openSUSE-release-tools-20191126.ac861592/sync-rebuild.py        
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/sync-rebuild.py        
2019-11-27 12:43:57.000000000 +0100
@@ -71,7 +71,7 @@
     u = osc.core.makeurl(osc.conf.config['apiurl'], ['build', prj], 
query=query)
 
     if testmode != False:
-        print("Trigger rebuild for this package: " +  u)
+        print("Trigger rebuild for this package: " + u)
 
     else:
         try:
@@ -86,7 +86,7 @@
     if sys.argv[1] != None:
         if sys.argv[1] == '-test':
             testmode = True
-            print("testmode: "+str(testmode))
+            print("testmode: " + str(testmode))
     else:
         testmode = False
 except:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/tests/OBSLocal.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/tests/OBSLocal.py
--- old/openSUSE-release-tools-20191126.ac861592/tests/OBSLocal.py      
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/tests/OBSLocal.py      
2019-11-27 12:43:57.000000000 +0100
@@ -207,14 +207,14 @@
         self.config = Config(APIURL, project)
 
     def create_attribute_type(self, namespace, name, values=None):
-        meta="""
+        meta = """
         <namespace name='{}'>
             <modifiable_by user='Admin'/>
         </namespace>""".format(namespace)
         url = osc.core.makeurl(APIURL, ['attribute', namespace, '_meta'])
         osc.core.http_PUT(url, data=meta)
 
-        meta="<definition name='{}' 
namespace='{}'><description/>".format(name, namespace)
+        meta = "<definition name='{}' 
namespace='{}'><description/>".format(name, namespace)
         if values:
             meta += "<count>{}</count>".format(values)
         meta += "<modifiable_by role='maintainer'/></definition>"
@@ -255,7 +255,7 @@
             root = ET.fromstring(meta)
             persons = ET.SubElement(root, 'person')
             for user in users:
-                ET.SubElement(persons, 'person', { 'userid': user } )
+                ET.SubElement(persons, 'person', {'userid': user} )
             meta = ET.tostring(root)
 
         if not name in self.groups:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/tests/api_tests.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/tests/api_tests.py
--- old/openSUSE-release-tools-20191126.ac861592/tests/api_tests.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/tests/api_tests.py     
2019-11-27 12:43:57.000000000 +0100
@@ -125,7 +125,6 @@
         xpath = "//review[@name='new' and 
@by_project='{}']".format(self.staging_b.name)
         self.assertIsNotNone(rq.xpath(xpath))
 
-
     def test_add_sr(self):
         # setup is already adding the request, we just verify
         prj = self.staging_b.name
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/tests/maintenance_tests.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/tests/maintenance_tests.py
--- old/openSUSE-release-tools-20191126.ac861592/tests/maintenance_tests.py     
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/tests/maintenance_tests.py     
2019-11-27 12:43:57.000000000 +0100
@@ -274,8 +274,6 @@
 
         self.assertFalse(result['devel_review_added'])
 
-
-
     def test_backports_submit(self):
 
         httpretty.register_uri(httpretty.GET,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/tests/origin_tests.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/tests/origin_tests.py
--- old/openSUSE-release-tools-20191126.ac861592/tests/origin_tests.py  
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/tests/origin_tests.py  
2019-11-27 12:43:57.000000000 +0100
@@ -257,7 +257,6 @@
         request = get_request(self.wf.apiurl, request_id_update)
         request_state_change(self.wf.apiurl, request_id_update, 'accepted')
 
-
         devel_project_new = self.randomString('develnew')
         self.wf.create_package(devel_project_new, package)
         attribute_value_save(self.wf.apiurl, devel_project_new, 
'ApprovedRequestSource', '', 'OBS')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/openSUSE-release-tools-20191126.ac861592/update_crawler.py 
new/openSUSE-release-tools-20191127.ae1b6ea1/update_crawler.py
--- old/openSUSE-release-tools-20191126.ac861592/update_crawler.py      
2019-11-26 17:04:05.000000000 +0100
+++ new/openSUSE-release-tools-20191127.ae1b6ea1/update_crawler.py      
2019-11-27 12:43:57.000000000 +0100
@@ -38,7 +38,7 @@
     """ Yield successive n-sized chunks from l.
     """
     for i in range(0, len(l), n):
-        yield l[i:i+n]
+        yield l[i:i + n]
 
 class UpdateCrawler(object):
     def __init__(self, from_prj, to_prj):
@@ -59,7 +59,7 @@
     # FIXME: duplicated from manager_42
     def latest_packages(self):
         apiurl = self.apiurl
-        prj  = self.from_prj
+        prj = self.from_prj
         if prj.startswith('openSUSE.org:'):
             apiurl = 'https://api.opensuse.org'
             prj = prj[len('openSUSE.org:'):]
@@ -116,9 +116,9 @@
         return [ node.get('name') for node in root.findall('entry') if not 
node.get('name') == '000product' and not 
node.get('name').startswith('patchinfo.') ]
 
     def _get_source_infos(self, project, packages):
-        query = [ 'view=info' ]
+        query = ['view=info']
         if packages:
-            query += [ 'package=%s'%quote_plus(p) for p in packages ]
+            query += ['package=%s' % quote_plus(p) for p in packages]
 
         return self.cached_GET(makeurl(self.apiurl,
                                 ['source', project],
@@ -222,7 +222,7 @@
                                              {
                                                  'rev': rev
                                              })))
-        linkinfo =  xml.find('linkinfo')
+        linkinfo = xml.find('linkinfo')
         if not linkinfo is None:
             ret = self.follow_link(linkinfo.get('project'), 
linkinfo.get('package'), linkinfo.get('srcmd5'), verifymd5)
             if ret:

++++++ openSUSE-release-tools.obsinfo ++++++
--- /var/tmp/diff_new_pack.GrQCKX/_old  2019-11-28 10:18:05.851639585 +0100
+++ /var/tmp/diff_new_pack.GrQCKX/_new  2019-11-28 10:18:05.851639585 +0100
@@ -1,5 +1,5 @@
 name: openSUSE-release-tools
-version: 20191126.ac861592
-mtime: 1574784245
-commit: ac861592d32a3472819fc1fe7aba5e5aa67dce27
+version: 20191127.ae1b6ea1
+mtime: 1574855037
+commit: ae1b6ea152513f1a21e2538e9b168093cfedea7a
 


Reply via email to