# Path: clustertools/config.py
# def get_ct_folder():
#     folder = os.environ.get(__CT_FOLDER_ENVVAR__)
#     if folder is None:
#         folder = os.path.join(os.path.expanduser("~"), __CT_FOLDER__)
#     return folder


import os
import sys
import glob
import collections
import shutil
import logging
    import cPickle as pickle
    import pickle
from abc import ABCMeta, abstractmethod
from datetime import datetime
from .config import get_ct_folder
        from .state import State


__EXP_NAME__ = "Experiment"
__PARAMETERS__ = "Parameters"
__RESULTS__ = "Results"
__CONTEXT__ = "Context"


class Architecture(object):
    """
    ``Architecture``
    ================
    An ``Architecture`` is responsible for the organization of the experiments
    and logs on the file system.
    By default, clustertools is located in a folder named 'clustertools_data'
    (aka ct_folder) in the user home directory. The ct_folder is structured as
    followed:
        clustertools_data
        |- logs
        |- exp_XXX
        |   |- logs
        |   |- $result$
        |   |- $notifs$
        |- exp_YYY
            |...
    where `logs` is a folder containing the main logs (not the ones corresponding
    to the experiments).  exp_XXX is the folder related to experiment 'XXX'.
    """
    def __init__(self, ct_folder=None):
        if ct_folder is None:

# Path: clustertools/config.py
# def get_ct_folder():
#     folder = os.environ.get(__CT_FOLDER_ENVVAR__)
#     if folder is None:
#         folder = os.path.join(os.path.expanduser("~"), __CT_FOLDER__)
#     return folder


# Path: clustertools/storage.py
import os
import sys
import glob
import collections
import shutil
import logging
    import cPickle as pickle
    import pickle
from abc import ABCMeta, abstractmethod
from datetime import datetime
from .config import get_ct_folder
        from .state import State



__EXP_NAME__ = "Experiment"
__PARAMETERS__ = "Parameters"
__RESULTS__ = "Results"
__CONTEXT__ = "Context"


class Architecture(object):
    """
    ``Architecture``
    ================
    An ``Architecture`` is responsible for the organization of the experiments
    and logs on the file system.
    By default, clustertools is located in a folder named 'clustertools_data'
    (aka ct_folder) in the user home directory. The ct_folder is structured as
    followed:
        clustertools_data
        |- logs
        |- exp_XXX
        |   |- logs
        |   |- $result$
        |   |- $notifs$
        |- exp_YYY
            |...
    where `logs` is a folder containing the main logs (not the ones corresponding
    to the experiments).  exp_XXX is the folder related to experiment 'XXX'.
    """
    def __init__(self, ct_folder=None):
        if ct_folder is None:

            ct_folder = get_ct_folder()