2009-08-11 22:36:37 +00:00
|
|
|
# Terminator by Chris Jones <cmsj@tenshu.net>
|
|
|
|
# GPL v2 only
|
2010-01-14 23:33:06 +00:00
|
|
|
"""cwd.py - function necessary to get the cwd for a given pid on various OSes
|
|
|
|
|
|
|
|
>>> cwd = get_default_cwd()
|
|
|
|
>>> cwd.__class__.__name__
|
|
|
|
'str'
|
2015-06-19 01:58:41 +00:00
|
|
|
>>> func = get_pid_cwd()
|
2020-05-15 16:45:15 +00:00
|
|
|
>>> cwd.__class__.__name__
|
|
|
|
'str'
|
2010-01-14 23:33:06 +00:00
|
|
|
|
|
|
|
"""
|
2009-08-11 22:36:37 +00:00
|
|
|
|
|
|
|
import platform
|
|
|
|
import os
|
2009-08-11 22:48:19 +00:00
|
|
|
import pwd
|
2020-05-15 15:27:36 +00:00
|
|
|
import psutil
|
2018-04-24 18:22:10 +00:00
|
|
|
from .util import dbg, err
|
2009-08-11 22:36:37 +00:00
|
|
|
|
2009-08-11 22:48:19 +00:00
|
|
|
def get_default_cwd():
|
|
|
|
"""Determine a reasonable default cwd"""
|
2020-05-14 19:39:50 +00:00
|
|
|
try:
|
|
|
|
cwd = os.getcwd()
|
|
|
|
except (FileNotFoundError,OSError):
|
|
|
|
err("unable to set current working directory, does not exist")
|
|
|
|
cwd = '/'
|
2009-08-18 11:59:06 +00:00
|
|
|
|
|
|
|
return(cwd)
|
2009-08-11 22:48:19 +00:00
|
|
|
|
2015-06-19 01:58:41 +00:00
|
|
|
def get_pid_cwd():
|
|
|
|
"""Determine an appropriate cwd function for the OS we are running on"""
|
2020-05-15 15:27:36 +00:00
|
|
|
return psutil.Process().as_dict()['cwd']
|
2015-09-01 21:05:24 +00:00
|
|
|
|
2009-08-11 22:36:37 +00:00
|
|
|
# vim: set expandtab ts=4 sw=4:
|