From ec74285bd2108f12f33fc8ac0dc1d124ab48be21 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 7 May 2013 13:55:58 +0100 Subject: buildstats: Update to ensure files are closed python3 doesn't like files being left open. This updates the code style to ensure file are closed. Signed-off-by: Richard Purdie --- meta/classes/buildstats.bbclass | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass index 6fd13a8602..453c50b968 100644 --- a/meta/classes/buildstats.bbclass +++ b/meta/classes/buildstats.bbclass @@ -12,12 +12,14 @@ DEVFILE = "${BUILDSTATS_BASE}/.device" ################################################################################ def get_process_cputime(pid): - fields = open("/proc/%d/stat" % pid, "r").readline().rstrip().split() + with open("/proc/%d/stat" % pid, "r") as f: + fields = f.readline().rstrip().split() # 13: utime, 14: stime, 15: cutime, 16: cstime return sum(int(field) for field in fields[13:16]) def get_cputime(): - fields = open("/proc/stat", "r").readline().rstrip().split()[1:] + with open("/proc/stat", "r") as f: + fields = f.readline().rstrip().split()[1:] return sum(int(field) for field in fields) def set_bn(e): @@ -26,14 +28,12 @@ def set_bn(e): os.remove(e.data.getVar('BNFILE', True)) except: pass - file = open(e.data.getVar('BNFILE', True), "w") - file.write(os.path.join(bn, e.data.getVar('BUILDNAME', True))) - file.close() + with open(e.data.getVar('BNFILE', True), "w") as f: + f.write(os.path.join(bn, e.data.getVar('BUILDNAME', True))) def get_bn(e): - file = open(e.data.getVar('BNFILE', True)) - bn = file.readline() - file.close() + with open(e.data.getVar('BNFILE', True)) as f: + bn = f.readline() return bn def set_device(e): @@ -63,9 +63,10 @@ def set_device(e): ############################################################################ rdev="NoLogicalDevice" try: - for line in open("/proc/diskstats", "r"): - if majordev == int(line.split()[0]) and minordev == int(line.split()[1]): - rdev=line.split()[2] + with open("/proc/diskstats", "r") as f: + for line in f: + if majordev == int(line.split()[0]) and minordev == int(line.split()[1]): + rdev=line.split()[2] except: pass file = open(e.data.getVar('DEVFILE', True), "w") @@ -85,9 +86,10 @@ def get_diskstats(dev): ############################################################################ DSTAT_KEYS = ['ReadsComp', 'ReadsMerged', 'SectRead', 'TimeReads', 'WritesComp', 'SectWrite', 'TimeWrite', 'IOinProgress', 'TimeIO', 'WTimeIO'] try: - for x in open("/proc/diskstats", "r"): - if dev in x: - diskstats_val = x.rstrip().split()[4:] + with open("/proc/diskstats", "r") as f: + for x in f: + if dev in x: + diskstats_val = x.rstrip().split()[4:] except IOError as e: return diskstats = dict(itertools.izip(DSTAT_KEYS, diskstats_val)) @@ -274,7 +276,6 @@ python run_buildstats () { file = open(build_status,"a") file.write(e.data.expand("Failed at: ${PF} at task: %s \n" % e.task)) file.close() - } addhandler run_buildstats -- cgit 1.2.3-korg