Source code for datakit.utils
import errno
import json
import os
[docs]def home_dir():
try:
return os.environ['DATAKIT_HOME']
except KeyError:
return os.path.join(os.path.expanduser('~'), '.datakit')
[docs]def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc: # Python >2.5
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else:
raise
[docs]def makedirs(basepath, dirs=[]):
return [mkdir_p(os.path.join(basepath, pth)) for pth in dirs]
[docs]def read_json(path):
with open(path) as fh:
return json.load(fh)
[docs]def write_json(path, data, indent=4):
with open(path, 'w') as fh:
json.dump(data, fh, indent=indent)
[docs]def dist_for_obj(obj):
try:
dist = obj.dist.project_name
version = obj.dist.version
if version:
dist += " ({})".format(version)
return dist
except AttributeError:
# Raised for Cliff, which returns an
# EntryPointWrapper object
return 'cliff'