Skip to content

Commit 13ae24d

Browse files
committed
Finally fixed psutil issues.
1 parent 48bd2b0 commit 13ae24d

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

prt.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -370,23 +370,28 @@ def get_sessions():
370370
plex_sessions = get_plex_sessions()
371371

372372
for proc in psutil.process_iter():
373-
parent = None
374-
if callable(proc.parent):
375-
parent = proc.parent()
376-
else:
377-
parent = proc.parent
373+
parent_name = None
374+
try:
375+
if callable(proc.parent):
376+
parent_name = proc.parent().name()
377+
else:
378+
parent_name = proc.parent.name
379+
except:
380+
continue
378381

379-
if not parent or not hasattr(parent, 'name'):
382+
if not parent_name:
380383
continue
381384

385+
pinfo = proc.as_dict(['name', 'cmdline'])
386+
382387
# Check the parent to make sure it is the "Plex Transcoder"
383-
if proc.name == 'ssh' and 'plex' in parent.name.lower():
384-
cmdline = ' '.join(proc.cmdline)
388+
if pinfo['name'] == 'ssh' and 'plex' in parent_name.lower():
389+
cmdline = ' '.join(pinfo['cmdline'])
385390
m = PRT_ID_RE.search(cmdline)
386391
if m:
387392
session_id = re_get(SESSION_RE, cmdline)
388393
data = {
389-
'proc': proc,
394+
'proc': pinfo,
390395
'plex': plex_sessions.get(session_id, {}),
391396
'host': {}
392397
}
@@ -401,7 +406,6 @@ def get_sessions():
401406
sessions[m.groups()[0]] = data
402407
return sessions
403408

404-
405409
def sessions():
406410
if psutil is None:
407411
print "Missing required library 'psutil'. Try 'pip install psutil'."

0 commit comments

Comments
 (0)