diff --git a/builder/kojid b/builder/kojid index bf210078..95458e05 100755 --- a/builder/kojid +++ b/builder/kojid @@ -22,6 +22,7 @@ # Mike Bonnet from __future__ import absolute_import +from __future__ import division import six try: import krbV @@ -1205,7 +1206,7 @@ class BuildArchTask(BaseBuildTask): self.logger.warn("Negative average build duration for %s: %s", name, avg) return # increase the task weight by 0.75 for every hour of build duration - adj = (avg / 4800.0) + adj = (avg // 4800.0) # cap the adjustment at +4.5 weight = self.weight() + min(4.5, adj) self.session.host.setTaskWeight(self.id, weight) diff --git a/hub/kojixmlrpc.py b/hub/kojixmlrpc.py index 4c2457d2..5ed71ffe 100644 --- a/hub/kojixmlrpc.py +++ b/hub/kojixmlrpc.py @@ -19,6 +19,7 @@ # Mike McLean from __future__ import absolute_import +from __future__ import division from six.moves.configparser import RawConfigParser import datetime import inspect @@ -650,7 +651,7 @@ def load_scripts(environ): def get_memory_usage(): pagesize = resource.getpagesize() - statm = [pagesize*int(y)/1024 for y in "".join(open("/proc/self/statm").readlines()).strip().split()] + statm = [pagesize*int(y)//1024 for y in "".join(open("/proc/self/statm").readlines()).strip().split()] size, res, shr, text, lib, data, dirty = statm return res - shr diff --git a/koji/__init__.py b/koji/__init__.py index 9a084a3f..9e81b06e 100644 --- a/koji/__init__.py +++ b/koji/__init__.py @@ -23,6 +23,7 @@ from __future__ import absolute_import +from __future__ import division import sys from six.moves import range from six.moves import zip @@ -2569,7 +2570,7 @@ class ClientSession(object): ret = [] callgrp = (calls[i:i + batch] for i in range(0, len(calls), batch)) self.logger.debug("MultiCall with batch size %i, calls/groups(%i/%i)", - batch, len(calls), round(len(calls) / batch)) + batch, len(calls), round(len(calls) // batch)) for c in callgrp: ret.extend(self._callMethod('multiCall', (c,), {})) else: @@ -2750,9 +2751,9 @@ class ClientSession(object): if t2 <= 0: t2 = 1 if debug: - self.logger.debug("Uploaded %d bytes in %f seconds (%f kbytes/sec)" % (size, t1, size/t1/1024)) + self.logger.debug("Uploaded %d bytes in %f seconds (%f kbytes/sec)" % (size, t1, size//t1//1024)) if debug: - self.logger.debug("Total: %d bytes in %f seconds (%f kbytes/sec)" % (ofs, t2, ofs/t2/1024)) + self.logger.debug("Total: %d bytes in %f seconds (%f kbytes/sec)" % (ofs, t2, ofs//t2//1024)) if callback: callback(ofs, totalsize, size, t1, t2) fo.close() diff --git a/koji/daemon.py b/koji/daemon.py index def30dcd..acb26bd1 100644 --- a/koji/daemon.py +++ b/koji/daemon.py @@ -21,6 +21,7 @@ # Mike Bonnet from __future__ import absolute_import +from __future__ import division import koji import koji.tasks import koji.xmlrpcplus @@ -885,7 +886,7 @@ class TaskManager(object): #accept this task) bin_avail = avail.get(bin, [0]) self.logger.debug("available capacities for bin: %r" % bin_avail) - median = bin_avail[(len(bin_avail)-1)/2] + median = bin_avail[(len(bin_avail)-1)//2] self.logger.debug("ours: %.2f, median: %.2f" % (our_avail, median)) if not self.checkRelAvail(bin_avail, our_avail): #decline for now and give the upper half a chance @@ -903,7 +904,7 @@ class TaskManager(object): Check our available capacity against the capacity of other hosts in this bin. Return True if we should take a task, False otherwise. """ - median = bin_avail[(len(bin_avail)-1)/2] + median = bin_avail[(len(bin_avail)-1)//2] self.logger.debug("ours: %.2f, median: %.2f" % (avail, median)) if avail >= median: return True @@ -1096,7 +1097,7 @@ class TaskManager(object): raise IOError("No such directory: %s" % br_path) fs_stat = os.statvfs(br_path) available = fs_stat.f_bavail * fs_stat.f_bsize - availableMB = available / 1024 / 1024 + availableMB = available // 1024 // 1024 self.logger.debug("disk space available in '%s': %i MB", br_path, availableMB) if availableMB < self.options.minspace: self.status = "Insufficient disk space: %i MB, %i MB required" % (availableMB, self.options.minspace) diff --git a/koji/util.py b/koji/util.py index eaf78134..ce9f0d4c 100644 --- a/koji/util.py +++ b/koji/util.py @@ -19,6 +19,7 @@ # Mike Bonnet from __future__ import absolute_import +from __future__ import division import calendar import datetime from koji.xmlrpcplus import DateTime @@ -116,7 +117,7 @@ def checkForBuilds(session, tag, builds, event, latest=False): def duration(start): """Return the duration between start and now in MM:SS format""" elapsed = time.time() - start - mins = int(elapsed / 60) + mins = int(elapsed // 60) secs = int(elapsed % 60) return '%s:%02i' % (mins, secs) diff --git a/util/kojira b/util/kojira index 980caea8..9f597f57 100755 --- a/util/kojira +++ b/util/kojira @@ -21,6 +21,7 @@ # Mike McLean from __future__ import absolute_import +from __future__ import division import sys import os import koji @@ -475,7 +476,7 @@ class RepoManager(object): if max_n == 0: # no recent use or missing data max_n = 1 - adj = stats['n_recent'] * 9.0 / max_n + 1 # 1.0 to 10.0 + adj = stats['n_recent'] * 9.0 // max_n + 1 # 1.0 to 10.0 ts = entry['expire_ts'] age = time.time() - ts # XXX - need to make sure our times aren't far off, otherwise this diff --git a/vm/kojivmd b/vm/kojivmd index ebb129c6..5aca1fd0 100755 --- a/vm/kojivmd +++ b/vm/kojivmd @@ -21,6 +21,7 @@ # Mike Bonnet from __future__ import absolute_import +from __future__ import division import koji import koji.util from koji.daemon import SCM, TaskManager @@ -845,7 +846,7 @@ class VMExecTask(BaseTaskHandler): if self.success is None: # task is still running # make sure it hasn't exceeded the timeout - mins = (time.time() - start) / 60 + mins = (time.time() - start) // 60 if mins > timeout: vm.destroy() self.server.server_close() @@ -930,7 +931,7 @@ class VMTaskManager(TaskManager): raise IOError('No such directory: %s' % self.options.imagedir) fs_stat = os.statvfs(self.options.imagedir) available = fs_stat.f_bavail * fs_stat.f_bsize - availableMB = available / 1024 / 1024 + availableMB = available // 1024 // 1024 self.logger.debug('disk space available in %s: %i MB', self.options.imagedir, availableMB) if availableMB < self.options.minspace: self.status = 'Insufficient disk space: %i MB, %i MB required' % (availableMB, self.options.minspace) @@ -939,7 +940,7 @@ class VMTaskManager(TaskManager): return True def checkMem(self): - phys_mem = os.sysconf('SC_PHYS_PAGES') * os.sysconf('SC_PAGE_SIZE') / 1024 + phys_mem = os.sysconf('SC_PHYS_PAGES') * os.sysconf('SC_PAGE_SIZE') // 1024 vm_mem = 0 for vm_id in self.libvirt_conn.listDomainsID(): vm = self.libvirt_conn.lookupByID(vm_id) diff --git a/www/kojiweb/index.py b/www/kojiweb/index.py index 021b87f9..2515b93d 100644 --- a/www/kojiweb/index.py +++ b/www/kojiweb/index.py @@ -21,6 +21,7 @@ # Mike McLean from __future__ import absolute_import +from __future__ import division import os import os.path import re @@ -1921,7 +1922,7 @@ def buildsbyuser(environ, start=None, order='-builds'): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxBuilds'] = maxBuilds - values['increment'] = graphWidth / maxBuilds + values['increment'] = graphWidth // maxBuilds kojiweb.util.paginateList(values, users, start, 'userBuilds', 'userBuild', order) return _genHTML(environ, 'buildsbyuser.chtml') @@ -1962,7 +1963,7 @@ def rpmsbyhost(environ, start=None, order=None, hostArch=None, rpmArch=None): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxRPMs'] = maxRPMs - values['increment'] = graphWidth / maxRPMs + values['increment'] = graphWidth // maxRPMs kojiweb.util.paginateList(values, hosts, start, 'hosts', 'host', order) return _genHTML(environ, 'rpmsbyhost.chtml') @@ -1991,7 +1992,7 @@ def packagesbyuser(environ, start=None, order=None): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxPackages'] = maxPackages - values['increment'] = graphWidth / maxPackages + values['increment'] = graphWidth // maxPackages kojiweb.util.paginateList(values, users, start, 'users', 'user', order) return _genHTML(environ, 'packagesbyuser.chtml') @@ -2027,7 +2028,7 @@ def tasksbyhost(environ, start=None, order='-tasks', hostArch=None): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxTasks'] = maxTasks - values['increment'] = graphWidth / maxTasks + values['increment'] = graphWidth // maxTasks kojiweb.util.paginateList(values, hosts, start, 'hosts', 'host', order) return _genHTML(environ, 'tasksbyhost.chtml') @@ -2055,7 +2056,7 @@ def tasksbyuser(environ, start=None, order='-tasks'): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxTasks'] = maxTasks - values['increment'] = graphWidth / maxTasks + values['increment'] = graphWidth // maxTasks kojiweb.util.paginateList(values, users, start, 'users', 'user', order) return _genHTML(environ, 'tasksbyuser.chtml') @@ -2091,7 +2092,7 @@ def buildsbystatus(environ, days='7'): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxBuilds'] = maxBuilds - values['increment'] = graphWidth / maxBuilds + values['increment'] = graphWidth // maxBuilds return _genHTML(environ, 'buildsbystatus.chtml') @@ -2130,7 +2131,7 @@ def buildsbytarget(environ, days='7', start=None, order='-builds'): graphWidth = 400.0 values['graphWidth'] = graphWidth values['maxBuilds'] = maxBuilds - values['increment'] = graphWidth / maxBuilds + values['increment'] = graphWidth // maxBuilds return _genHTML(environ, 'buildsbytarget.chtml') diff --git a/www/lib/kojiweb/util.py b/www/lib/kojiweb/util.py index e6b991fd..c32f7f9f 100644 --- a/www/lib/kojiweb/util.py +++ b/www/lib/kojiweb/util.py @@ -21,6 +21,7 @@ # Mike McLean from __future__ import absolute_import +from __future__ import division import Cheetah.Template import datetime import koji @@ -151,7 +152,7 @@ def _genHTML(environ, fileName): def _truncTime(): now = datetime.datetime.now() # truncate to the nearest 15 minutes - return now.replace(minute=(now.minute / 15 * 15), second=0, microsecond=0) + return now.replace(minute=(now.minute // 15 * 15), second=0, microsecond=0) def _genToken(environ, tstamp=None): if 'koji.currentLogin' in environ and environ['koji.currentLogin']: @@ -356,9 +357,9 @@ def _populateValues(values, dataName, prefix, data, totalRows, start, count, pag values[(prefix and prefix + 'Count' or 'count')] = count values[(prefix and prefix + 'Range' or 'range')] = pageSize values[(prefix and prefix + 'Order' or 'order')] = order - currentPage = start / pageSize + currentPage = start // pageSize values[(prefix and prefix + 'CurrentPage' or 'currentPage')] = currentPage - totalPages = totalRows / pageSize + totalPages = totalRows // pageSize if totalRows % pageSize > 0: totalPages += 1 pages = [page for page in range(0, totalPages) if (abs(page - currentPage) < 100 or ((page + 1) % 100 == 0))]