# Path: aeriscloud/config.py
# def module_path():
#     def __init__(self):
#     def load(self):
#     def has(self, section, option):
#     def get(self, section, option, **kwargs):
#     def set(self, section, option, value):
#     def unset(self, section, option):
#     def save(self):
#     def dump(self):
#     def complete(self):
# def inventory_path():
# def config_dir():
# def data_dir():
# def config_ini_path():
# def projects_path():
# def basebox_bucket():
# def default_organization():
# def expose_username():
# def expose_url():
# def has_github_integration():
# def verbosity(val=None):
# class Config(object):
# 
# Path: aeriscloud/log.py
# def get_logger(name=None, parent=_logger):
#     if name:
#         if not hasattr(parent, 'getChild'):
#             return parent.manager.getLogger('.'.join([parent.name, name]))
#         return parent.getChild(name)
#     return parent
# 
# Path: aeriscloud/utils.py
# def quote(s):
#     """Return a shell-escaped version of the string *s*."""
#     if not s:
#         return "''"
#     if _find_unsafe(s) is None:
#         return s
# 
#     # use single quotes, and put single quotes into double quotes
#     # the string $'b is then quoted as '$'"'"'b'
#     return "'" + s.replace("'", "'\"'\"'") + "'"
# 
# def timestamp(text, **kwargs):
#     """
#     Writes text with a timestamp
#     :param text:
#     :return:
#     """
#     for line in text.split('\n'):
#         # TODO: something we could do is detect the last ansi code on each
#         # line and report it to the next line so that multiline codes
#         # are not reset/lost
#         secho('[%s] ' % (now().format('HH:mm:ss')), fg='reset', nl=False)
#         secho(line, **kwargs)


import os
from subprocess32 import Popen, PIPE, call
from ansible import constants
from .config import aeriscloud_path, verbosity, data_dir
from .log import get_logger
from .utils import quote, timestamp
        from ansible.inventory import Inventory as AnsibleInventory
        from ansible.parsing.dataloader import DataLoader
        from ansible.vars import VariableManager
        from ansible.inventory import Inventory as AnsibleInventory
        from ansible.parsing.dataloader import DataLoader
        from ansible.vars import VariableManager
from __future__ import print_function, absolute_import





ansible_path = os.path.join(aeriscloud_path, 'ansible')
plugin_path = os.path.join(ansible_path, 'plugins')
job_path = os.path.join(ansible_path, 'jobs')
inventory_path = os.path.join(data_dir(), 'inventory')
organization_path = os.path.join(data_dir(), 'organizations')


# Path: aeriscloud/config.py
# def module_path():
#     def __init__(self):
#     def load(self):
#     def has(self, section, option):
#     def get(self, section, option, **kwargs):
#     def set(self, section, option, value):
#     def unset(self, section, option):
#     def save(self):
#     def dump(self):
#     def complete(self):
# def inventory_path():
# def config_dir():
# def data_dir():
# def config_ini_path():
# def projects_path():
# def basebox_bucket():
# def default_organization():
# def expose_username():
# def expose_url():
# def has_github_integration():
# def verbosity(val=None):
# class Config(object):
# 
# Path: aeriscloud/log.py
# def get_logger(name=None, parent=_logger):
#     if name:
#         if not hasattr(parent, 'getChild'):
#             return parent.manager.getLogger('.'.join([parent.name, name]))
#         return parent.getChild(name)
#     return parent
# 
# Path: aeriscloud/utils.py
# def quote(s):
#     """Return a shell-escaped version of the string *s*."""
#     if not s:
#         return "''"
#     if _find_unsafe(s) is None:
#         return s
# 
#     # use single quotes, and put single quotes into double quotes
#     # the string $'b is then quoted as '$'"'"'b'
#     return "'" + s.replace("'", "'\"'\"'") + "'"
# 
# def timestamp(text, **kwargs):
#     """
#     Writes text with a timestamp
#     :param text:
#     :return:
#     """
#     for line in text.split('\n'):
#         # TODO: something we could do is detect the last ansi code on each
#         # line and report it to the next line so that multiline codes
#         # are not reset/lost
#         secho('[%s] ' % (now().format('HH:mm:ss')), fg='reset', nl=False)
#         secho(line, **kwargs)


# Path: aeriscloud/ansible.py
import os
from subprocess32 import Popen, PIPE, call
from ansible import constants
from .config import aeriscloud_path, verbosity, data_dir
from .log import get_logger
from .utils import quote, timestamp
        from ansible.inventory import Inventory as AnsibleInventory
        from ansible.parsing.dataloader import DataLoader
        from ansible.vars import VariableManager
        from ansible.inventory import Inventory as AnsibleInventory
        from ansible.parsing.dataloader import DataLoader
        from ansible.vars import VariableManager

from __future__ import print_function, absolute_import





ansible_path = os.path.join(aeriscloud_path, 'ansible')
plugin_path = os.path.join(ansible_path, 'plugins')
job_path = os.path.join(ansible_path, 'jobs')
inventory_path = os.path.join(data_dir(), 'inventory')
organization_path = os.path.join(data_dir(), 'organizations')


logger = get_logger('ansible')