python-modernize -f libmodernize.fixes.fix_zip
This commit is contained in:
parent
7f946b37be
commit
0eaf3349c4
9 changed files with 41 additions and 29 deletions
|
|
@ -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
|
||||
|
|
|
|||
1
cli/koji
1
cli/koji
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue