From 3ff78f1f00973393d1a7ee4e467a2bacf1c807f3 Mon Sep 17 00:00:00 2001
|
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
|
Date: Wed, 5 Feb 2020 16:14:21 +0000
|
Subject: [PATCH] smem: fix support for --source option (python3)
|
MIME-Version: 1.0
|
Content-Type: text/plain; charset=UTF-8
|
Content-Transfer-Encoding: 8bit
|
|
Using --source doesn't work without this patch:
|
Traceback (most recent call last):
|
File "./smem", line 727, in <module>
|
showpids()
|
File "./smem", line 299, in showpids
|
showtable(pt.keys(), fields, columns.split(), options.sort or 'pss')
|
File "./smem", line 519, in showtable
|
mt = totalmem()
|
File "./smem", line 118, in totalmem
|
_totalmem = memory()['memtotal']
|
File "./smem", line 193, in memory
|
m = f.match(l)
|
TypeError: cannot use a string pattern on a bytes-like object
|
|
python3's tarfile returns bytes, whereas all of the rest of
|
the code assumes str.
|
|
Fix the tarfile usage to convert to str before returning the
|
results.
|
|
Signed-off-by: André Draszik <git@andred.net>
|
Upstream-Status: Inappropriate [upstream wants to support python2 & python3]
|
---
|
smem | 4 ++--
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
diff --git a/smem b/smem
|
index 46a3189..54d40dd 100755
|
--- a/smem
|
+++ b/smem
|
@@ -90,9 +90,9 @@ class tardata(procdata):
|
d,f = ti.name.split('/')
|
yield d
|
def _read(self, f):
|
- return self.tar.extractfile(f).read()
|
+ return self.tar.extractfile(f).read().decode()
|
def _readlines(self, f):
|
- return self.tar.extractfile(f).readlines()
|
+ return [l.decode() for l in self.tar.extractfile(f).readlines()]
|
def piduser(self, p):
|
t = self.tar.getmember("%d" % p)
|
if t.uname:
|
--
|
2.23.0.rc1
|