def _attributes(event_path, number_events, alpha, betas, lambda_, cpu_time,
wall_time, function, method=None, attrs=None):
width = max([len(ss) for ss in (event_path,
str(number_events),
str(alpha),
str(betas),
str(lambda_),
function,
str(method),
socket.gethostname(),
getpass.getuser())])
width = max(19, width)
def _format(value):
return '{0: <{width}}'.format(value, width=width)
if not type(alpha) in (float, int):
alpha = 'varying'
new_attrs = {'date': _format(time.strftime("%Y-%m-%d %H:%M:%S")),
'event_path': _format(event_path),
'number_events': _format(number_events),
'alpha': _format(str(alpha)),
'betas': _format(str(betas)),
'lambda': _format(str(lambda_)),
'function': _format(function),
'method': _format(str(method)),
'cpu_time': _format(str(cpu_time)),
'wall_time': _format(str(wall_time)),
'hostname': _format(socket.gethostname()),
'username': _format(getpass.getuser()),
'pyndl': _format(__version__),
'numpy': _format(np.__version__),
'pandas': _format(pd.__version__),
'xarray': _format(xr.__version__),
'cython': _format(cython.__version__)}
if attrs is not None:
for key in set(attrs.keys()) | set(new_attrs.keys()):
if key in attrs:
old_val = attrs[key]
else:
old_val = ''
if key in new_attrs:
new_val = new_attrs[key]
else:
new_val = format_('')
new_attrs[key] = old_val + ' | ' + new_val
return new_attrs
评论列表
文章目录