python-modernize -f libmodernize.fixes.fix_zip

This commit is contained in:
Tomas Kopecek 2017-05-03 11:21:56 +02:00
parent 7f946b37be
commit 0eaf3349c4
9 changed files with 41 additions and 29 deletions

View file

@ -21,6 +21,8 @@
# Mike McLean <mikem@redhat.com>
# Mike Bonnet <mikeb@redhat.com>
from __future__ import absolute_import
from six.moves import zip
try:
import krbV
except ImportError: # pragma: no cover
@ -4758,7 +4760,7 @@ Build Info: %(weburl)s/buildinfo?buildID=%(build_id)i\r
def uniq(self, items):
"""Remove duplicates from the list of items, and sort the list."""
m = dict(zip(items, [1] * len(items)))
m = dict(list(zip(items, [1] * len(items))))
l = m.keys()
l.sort()
return l

View file

@ -27,6 +27,7 @@
from __future__ import absolute_import
import sys
from six.moves import range
from six.moves import zip
try:
import krbV
except ImportError: # pragma: no cover

View file

@ -58,6 +58,7 @@ import xmlrpclib
import zipfile
from koji.context import context
from six.moves import range
from six.moves import zip
try:
import json
@ -492,7 +493,7 @@ def make_task(method, arglist, **opts):
r = _fetchSingle(q, opts)
if not r:
raise koji.GenericError("Invalid parent task: %(parent)s" % opts)
pdata = dict(zip(fields, r))
pdata = dict(list(zip(fields, r)))
if pdata['state'] != koji.TASK_STATES['OPEN']:
raise koji.GenericError("Parent task (id %(parent)s) is not open" % opts)
#default to a higher priority than parent
@ -603,7 +604,7 @@ def readGlobalInheritance(event=None):
""" % (",".join(fields), eventCondition(event))
c.execute(q, locals())
#convert list of lists into a list of dictionaries
return [dict(zip(fields, x)) for x in c.fetchall()]
return [dict(list(zip(fields, x))) for x in c.fetchall()]
def readInheritanceData(tag_id, event=None):
c = context.cnx.cursor()
@ -614,7 +615,7 @@ def readInheritanceData(tag_id, event=None):
""" % (",".join(fields), eventCondition(event))
c.execute(q, locals())
#convert list of lists into a list of dictionaries
data = [dict(zip(fields, x)) for x in c.fetchall()]
data = [dict(list(zip(fields, x))) for x in c.fetchall()]
# include the current tag_id as child_id, so we can retrace the inheritance chain later
for datum in data:
datum['child_id'] = tag_id
@ -629,7 +630,7 @@ def readDescendantsData(tag_id, event=None):
""" % (",".join(fields), eventCondition(event))
c.execute(q, locals())
#convert list of lists into a list of dictionaries
data = [dict(zip(fields, x)) for x in c.fetchall()]
data = [dict(list(zip(fields, x))) for x in c.fetchall()]
return data
@ -1308,7 +1309,7 @@ def readTaggedRPMS(tag, package=None, arch=None, event=None, inherit=False, late
else:
raise koji.GenericError('invalid arch option: %s' % arch)
fields, aliases = zip(*fields)
fields, aliases = list(zip(*fields))
query = QueryProcessor(tables=tables, joins=joins, clauses=clauses,
columns=fields, aliases=aliases, values=data, transform=_fix_rpm_row)
@ -2141,7 +2142,7 @@ def get_ready_hosts():
""" % ','.join(fields)
# XXX - magic number in query
c.execute(q)
hosts = [dict(zip(aliases, row)) for row in c.fetchall()]
hosts = [dict(list(zip(aliases, row))) for row in c.fetchall()]
for host in hosts:
q = """SELECT channel_id FROM host_channels WHERE host_id=%(id)s"""
c.execute(q, host)
@ -2420,7 +2421,7 @@ def _write_maven_repo_metadata(destdir, artifacts):
# group_id and artifact_id should be the same for all entries,
# so we're really only comparing versions.
artifacts = sorted(artifacts, cmp=lambda a, b: rpm.labelCompare(a, b))
artifactinfo = dict(zip(['group_id', 'artifact_id', 'version'], artifacts[-1]))
artifactinfo = dict(list(zip(['group_id', 'artifact_id', 'version'], artifacts[-1])))
artifactinfo['timestamp'] = datetime.datetime.now().strftime('%Y%m%d%H%M%S')
contents = """<?xml version="1.0"?>
<metadata>
@ -2547,7 +2548,7 @@ def repo_references(repo_id):
'host_id': 'host_id',
'create_event': 'create_event',
'state': 'state'}
fields, aliases = zip(*fields.items())
fields, aliases = list(zip(*fields.items()))
values = {'repo_id': repo_id}
clauses = ['repo_id=%(repo_id)s', 'retire_event IS NULL']
query = QueryProcessor(columns=fields, aliases=aliases, tables=['standard_buildroot'],
@ -2977,7 +2978,7 @@ def get_tag(tagInfo, strict=False, event=None):
raise koji.GenericError('invalid type for tagInfo: %s' % type(tagInfo))
data = {'tagInfo': tagInfo}
fields, aliases = zip(*fields.items())
fields, aliases = list(zip(*fields.items()))
query = QueryProcessor(columns=fields, aliases=aliases, tables=tables,
joins=joins, clauses=clauses, values=data)
result = query.executeOne()
@ -3519,7 +3520,7 @@ def get_build(buildInfo, strict=False):
('users.id', 'owner_id'), ('users.name', 'owner_name'),
('build.source', 'source'),
('build.extra', 'extra'))
fields, aliases = zip(*fields)
fields, aliases = list(zip(*fields))
joins = ['events ON build.create_event = events.id',
'package on build.pkg_id = package.id',
'volume on build.volume_id = volume.id',
@ -3754,7 +3755,7 @@ def list_rpms(buildID=None, buildrootID=None, imageID=None, componentBuildrootID
else:
raise koji.GenericError('invalid type for "arches" parameter: %s' % type(arches))
fields, aliases = zip(*fields)
fields, aliases = list(zip(*fields))
query = QueryProcessor(columns=fields, aliases=aliases,
tables=['rpminfo'], joins=joins, clauses=clauses,
values=locals(), transform=_fix_rpm_row, opts=queryOpts)
@ -4079,7 +4080,7 @@ def list_archives(buildID=None, buildrootID=None, componentBuildrootID=None, hos
clauses.append('archiveinfo.btype_id = %(btype_id)s')
values['btype_id'] = btype['id']
columns, aliases = zip(*fields)
columns, aliases = list(zip(*fields))
ret = QueryProcessor(tables=tables, columns=columns, aliases=aliases, joins=joins,
transform=_fix_archive_row,
clauses=clauses, values=values, opts=queryOpts).execute()
@ -4398,7 +4399,7 @@ def _multiRow(query, values, fields):
as a list of maps. Each map in the list will have a key for each
element in the "fields" list. If there are no results, an empty
list will be returned."""
return [dict(zip(fields, row)) for row in _fetchMulti(query, values)]
return [dict(list(zip(fields, row))) for row in _fetchMulti(query, values)]
def _singleRow(query, values, fields, strict=False):
"""Return a single row from "query". Named parameters can be
@ -4410,7 +4411,7 @@ def _singleRow(query, values, fields, strict=False):
returned."""
row = _fetchSingle(query, values, strict)
if row:
return dict(zip(fields, row))
return dict(list(zip(fields, row)))
else:
#strict enforced by _fetchSingle
return None
@ -6706,7 +6707,7 @@ def query_history(tables=None, **kwargs):
fields[r_test] = '_revoked_before_event'
if skip:
continue
fields, aliases = zip(*fields.items())
fields, aliases = list(zip(*fields.items()))
query = QueryProcessor(columns=fields, aliases=aliases, tables=[table],
joins=joins, clauses=clauses, values=data)
ret[table] = query.iterate()
@ -7600,7 +7601,7 @@ class QueryProcessor(object):
if columns and aliases:
if len(columns) != len(aliases):
raise Exception('column and alias lists must be the same length')
self.colsByAlias = dict(zip(aliases, columns))
self.colsByAlias = dict(list(zip(aliases, columns)))
else:
self.colsByAlias = {}
self.tables = tables
@ -10432,7 +10433,7 @@ class RootExports(object):
#XXX hard-coded interval
c = context.cnx.cursor()
c.execute(q, koji.TASK_STATES)
return [dict(zip([f[1] for f in fields], row)) for row in c.fetchall()]
return [dict(list(zip([f[1] for f in fields], row))) for row in c.fetchall()]
def resubmitTask(self, taskID):
"""Retry a canceled or failed task, using the same parameter as the original task.
@ -11138,7 +11139,7 @@ class BuildRoot(object):
('checksum_type', 'checksum_type'),
('project_dep', 'project_dep'),
]
columns, aliases = zip(*fields)
columns, aliases = list(zip(*fields))
query = QueryProcessor(tables=tables, columns=columns,
joins=joins, clauses=clauses,
values=self.data,
@ -11316,7 +11317,7 @@ class Host(object):
WHERE host_id = %%(host_id)s AND state = %%(st_open)s
""" % (",".join(fields))
c.execute(q, locals())
tasks = [dict(zip(fields, x)) for x in c.fetchall()]
tasks = [dict(list(zip(fields, x))) for x in c.fetchall()]
for task in tasks:
id = task['id']
if task['waiting']:
@ -11378,7 +11379,7 @@ class Host(object):
""" % (",".join(fields))
c.execute(q, locals())
for data in c.fetchall():
data = dict(zip(fields, data))
data = dict(list(zip(fields, data)))
# XXX - we should do some pruning here, but for now...
# check arch
if data['arch'] not in arches:

View file

@ -20,11 +20,13 @@
# This library and program is heavily based on rpmdiff from the rpmlint package
# It was modified to be used as standalone library for the Koji project.
from __future__ import absolute_import
import rpm
import os
import itertools
import sys, getopt
from six.moves import zip
class Rpmdiff:
@ -175,8 +177,8 @@ class Rpmdiff:
if not isinstance(oldflags, list): oldflags = [ oldflags ]
if not isinstance(newflags, list): newflags = [ newflags ]
o = zip(old[name], oldflags, old[name[:-1]+'VERSION'])
n = zip(new[name], newflags, new[name[:-1]+'VERSION'])
o = list(zip(old[name], oldflags, old[name[:-1]+'VERSION']))
n = list(zip(new[name], newflags, new[name[:-1]+'VERSION']))
if name == 'PROVIDES': # filter our self provide
oldNV = (old['name'], rpm.RPMSENSE_EQUAL,

View file

@ -24,6 +24,7 @@
from __future__ import absolute_import
import sys
from six.moves import range
from six.moves import zip
try:
import krbV
except ImportError: # pragma: no cover
@ -446,7 +447,7 @@ def decode_args2(args, names, strict=True):
args, opts = decode_args(*args)
if strict and len(names) < len(args):
raise TypeError("Expecting at most %i arguments" % len(names))
ret = dict(zip(names, args))
ret = dict(list(zip(names, args)))
ret.update(opts)
return ret
@ -2139,7 +2140,7 @@ class ClientSession(object):
# decode and decrypt the login info
sinfo_priv = base64.decodestring(sinfo_enc)
sinfo_str = ac.rd_priv(sinfo_priv)
sinfo = dict(zip(['session-id', 'session-key'], sinfo_str.split()))
sinfo = dict(list(zip(['session-id', 'session-key'], sinfo_str.split())))
if not sinfo:
self.logger.warn('No session info received')

View file

@ -29,6 +29,7 @@ import koji
import cgi #for parse_qs
from context import context
from six.moves import range
from six.moves import zip
# 1 - load session if provided
# - check uri for session id
@ -98,7 +99,7 @@ class Session(object):
'EXTRACT(EPOCH FROM update_time)': 'update_ts',
'user_id': 'user_id',
}
fields, aliases = zip(*fields.items())
fields, aliases = list(zip(*fields.items()))
q = """
SELECT %s FROM sessions
WHERE id = %%(id)i
@ -110,7 +111,7 @@ class Session(object):
row = c.fetchone()
if not row:
raise koji.AuthError('Invalid session or bad credentials')
session_data = dict(zip(aliases, row))
session_data = dict(list(zip(aliases, row)))
#check for expiration
if session_data['expired']:
raise koji.AuthExpired('session "%i" has expired' % id)
@ -148,7 +149,7 @@ class Session(object):
fields = ('name', 'status', 'usertype')
q = """SELECT %s FROM users WHERE id=%%(user_id)s""" % ','.join(fields)
c.execute(q, session_data)
user_data = dict(zip(fields, c.fetchone()))
user_data = dict(list(zip(fields, c.fetchone())))
if user_data['status'] != koji.USER_STATUS['NORMAL']:
raise koji.AuthError('logins by %s are not allowed' % user_data['name'])
@ -699,7 +700,7 @@ def get_user_data(user_id):
row = c.fetchone()
if not row:
return None
return dict(zip(fields, row))
return dict(list(zip(fields, row)))
def login(*args, **opts):
return context.session.login(*args, **opts)

View file

@ -6,6 +6,8 @@
# Authors:
# Mike McLean <mikem@redhat.com>
from __future__ import absolute_import
from six.moves import zip
try:
import krbV
except ImportError: # pragma: no cover

View file

@ -24,6 +24,7 @@
from __future__ import absolute_import
from six.moves import range
from six.moves import zip
try:
import krbV
except ImportError: # pragma: no cover

View file

@ -38,6 +38,7 @@ from kojiweb.util import _genHTML
from kojiweb.util import _getValidTokens
from koji.util import sha1_constructor
from six.moves import range
from six.moves import zip
# Convenience definition of a commonly-used sort function
_sortbyname = kojiweb.util.sortByKeyFunc('name')