# Path: hurricane/utils.py
# def import_string(import_name, silent=False):
#     """Imports an object based on a string.  This is useful if you want to
#     use import paths as endpoints or something similar.  An import path can
#     be specified either in dotted notation (``xml.sax.saxutils.escape``)
#     or with a colon as object delimiter (``xml.sax.saxutils:escape``).
# 
#     If `silent` is True the return value will be `None` if the import fails.
# 
#     :param import_name: the dotted name for the object to import.
#     :param silent: if set to `True` import errors are ignored and
#                    `None` is returned instead.
#     :return: imported object
#     """
#     try:
#         if ':' in import_name:
#             module, obj = import_name.split(':', 1)
#         elif '.' in import_name:
#             module, obj = import_name.rsplit('.', 1)
#         else:
#             return __import__(import_name)
#         return getattr(__import__(module, None, None, [obj]), obj)
#     except (ImportError, AttributeError):
#         if not silent:
#             raise


import optparse
from hurricane.utils import import_string
#!/usr/bin/env python



def runcli():
    parser = optparse.OptionParser()
    parser.add_option('--settings', dest='settings',
        default='hurricane.default_settings')

    options, args = parser.parse_args()
    settings = import_string(options.settings)
    main(settings)


def main(settings):

# Path: hurricane/utils.py
# def import_string(import_name, silent=False):
#     """Imports an object based on a string.  This is useful if you want to
#     use import paths as endpoints or something similar.  An import path can
#     be specified either in dotted notation (``xml.sax.saxutils.escape``)
#     or with a colon as object delimiter (``xml.sax.saxutils:escape``).
# 
#     If `silent` is True the return value will be `None` if the import fails.
# 
#     :param import_name: the dotted name for the object to import.
#     :param silent: if set to `True` import errors are ignored and
#                    `None` is returned instead.
#     :return: imported object
#     """
#     try:
#         if ':' in import_name:
#             module, obj = import_name.split(':', 1)
#         elif '.' in import_name:
#             module, obj = import_name.rsplit('.', 1)
#         else:
#             return __import__(import_name)
#         return getattr(__import__(module, None, None, [obj]), obj)
#     except (ImportError, AttributeError):
#         if not silent:
#             raise


# Path: hurricane/runner.py
import optparse
from hurricane.utils import import_string

#!/usr/bin/env python



def runcli():
    parser = optparse.OptionParser()
    parser.add_option('--settings', dest='settings',
        default='hurricane.default_settings')

    options, args = parser.parse_args()
    settings = import_string(options.settings)
    main(settings)


def main(settings):

    manager = import_string(settings.APPLICATION_MANAGER)