Module taurunner.utils.setup_outdir

Expand source code
import os, json
from datetime import date

def make_dirname(savedir, i):
    today    = date.today()
    TODAYSTR = today.strftime("%Y%m%d")
    stri     = ('000000'+str(i))[-6:]
    dir_name = '%s/%s_%s' % (savedir, TODAYSTR, stri)
    return dir_name

def make_outdir(savedir):
    i            = 0
    proposed_dir = make_dirname(savedir, i)
    while os.path.isdir(proposed_dir):
        i+=1
        proposed_dir = make_dirname(savedir, i)
    return proposed_dir

def setup_outdir(TR_specs):
    if not TR_specs['prefix']:
        outdir = make_outdir(TR_specs['base_savedir'])
        TR_specs['prefix'] = outdir.split('/')[-1]
    else:
        outdir = '%s/%s' % (TR_specs['base_savedir'], TR_specs['prefix'])
    if not os.path.exists(outdir):
        os.mkdir(outdir)
    if not os.path.isdir(outdir):
        raise ValueError('Specified outdir is a file already')
    if not TR_specs['seed']: # we must have a seed if saving
        seed = hash(outdir) % (2**32) # Make seed from hashing outdir
        TR_specs['seed'] = seed
    return TR_specs

Functions

def make_dirname(savedir, i)
Expand source code
def make_dirname(savedir, i):
    today    = date.today()
    TODAYSTR = today.strftime("%Y%m%d")
    stri     = ('000000'+str(i))[-6:]
    dir_name = '%s/%s_%s' % (savedir, TODAYSTR, stri)
    return dir_name
def make_outdir(savedir)
Expand source code
def make_outdir(savedir):
    i            = 0
    proposed_dir = make_dirname(savedir, i)
    while os.path.isdir(proposed_dir):
        i+=1
        proposed_dir = make_dirname(savedir, i)
    return proposed_dir
def setup_outdir(TR_specs)
Expand source code
def setup_outdir(TR_specs):
    if not TR_specs['prefix']:
        outdir = make_outdir(TR_specs['base_savedir'])
        TR_specs['prefix'] = outdir.split('/')[-1]
    else:
        outdir = '%s/%s' % (TR_specs['base_savedir'], TR_specs['prefix'])
    if not os.path.exists(outdir):
        os.mkdir(outdir)
    if not os.path.isdir(outdir):
        raise ValueError('Specified outdir is a file already')
    if not TR_specs['seed']: # we must have a seed if saving
        seed = hash(outdir) % (2**32) # Make seed from hashing outdir
        TR_specs['seed'] = seed
    return TR_specs