# Path: syncano_cli/account/commands.py
# @click.group()
# def top_account():
#     pass
# 
# Path: syncano_cli/base/exceptions.py
# class CLIBaseException(ClickException):
# 
#     default_message = u'A CLI processing exception.'
# 
#     def __init__(self, message=None, format_args=None):
#         message = message or self.default_message
#         if format_args:
#             message = message.format(*format_args)
#         super(CLIBaseException, self).__init__(message)
# 
#     def show(self, file=None):
#         formatter = Formatter()
#         formatter.write('Error: %s' % self.format_message(), ErrorOpt(), SpacedOpt())
# 
# class SyncanoLibraryException(CLIBaseException):
#     pass
# 
# Path: syncano_cli/commands.py
# @click.group()
# def top_level():
#     pass
# 
# Path: syncano_cli/config_commands/commands.py
# @click.group()
# def top_config():
#     pass
# 
# Path: syncano_cli/custom_sockets/commands.py
# @click.group()
# def top_sockets():
#     pass
# 
# Path: syncano_cli/execute/commands.py
# @click.group()
# def top_execute():
#     pass
# 
# Path: syncano_cli/hosting/commands.py
# @click.group()
# def top_hosting():
#     pass
# 
# Path: syncano_cli/init/commands.py
# @click.group()
# def top_init():
#     pass
# 
# Path: syncano_cli/instance/commands.py
# @click.group()
# def top_instance():
#     pass
# 
# Path: syncano_cli/parse_to_syncano/commands.py
# @click.group()
# def top_migrate():
#     pass
# 
# Path: syncano_cli/sync/commands.py
# @click.group()
# def top_sync():
#     pass


import click
from click import ClickException
from syncano.exceptions import SyncanoException
from syncano_cli.account.commands import top_account
from syncano_cli.base.exceptions import CLIBaseException, SyncanoLibraryException
from syncano_cli.commands import top_level
from syncano_cli.config_commands.commands import top_config
from syncano_cli.custom_sockets.commands import top_sockets
from syncano_cli.execute.commands import top_execute
from syncano_cli.hosting.commands import top_hosting
from syncano_cli.init.commands import top_init
from syncano_cli.instance.commands import top_instance
from syncano_cli.parse_to_syncano.commands import top_migrate
from syncano_cli.sync.commands import top_sync
# -*- coding: utf-8 -*-
from __future__ import print_function


cli = click.CommandCollection(
    sources=[
        top_account,
        top_config,
        top_execute,
        top_hosting,
        top_init,
        top_instance,
        top_level,
        top_migrate,
        top_sync,
        top_sockets,

    ],
)


def main():
    try:
        cli(obj={})
    except SyncanoException as e:

# Path: syncano_cli/account/commands.py
# @click.group()
# def top_account():
#     pass
# 
# Path: syncano_cli/base/exceptions.py
# class CLIBaseException(ClickException):
# 
#     default_message = u'A CLI processing exception.'
# 
#     def __init__(self, message=None, format_args=None):
#         message = message or self.default_message
#         if format_args:
#             message = message.format(*format_args)
#         super(CLIBaseException, self).__init__(message)
# 
#     def show(self, file=None):
#         formatter = Formatter()
#         formatter.write('Error: %s' % self.format_message(), ErrorOpt(), SpacedOpt())
# 
# class SyncanoLibraryException(CLIBaseException):
#     pass
# 
# Path: syncano_cli/commands.py
# @click.group()
# def top_level():
#     pass
# 
# Path: syncano_cli/config_commands/commands.py
# @click.group()
# def top_config():
#     pass
# 
# Path: syncano_cli/custom_sockets/commands.py
# @click.group()
# def top_sockets():
#     pass
# 
# Path: syncano_cli/execute/commands.py
# @click.group()
# def top_execute():
#     pass
# 
# Path: syncano_cli/hosting/commands.py
# @click.group()
# def top_hosting():
#     pass
# 
# Path: syncano_cli/init/commands.py
# @click.group()
# def top_init():
#     pass
# 
# Path: syncano_cli/instance/commands.py
# @click.group()
# def top_instance():
#     pass
# 
# Path: syncano_cli/parse_to_syncano/commands.py
# @click.group()
# def top_migrate():
#     pass
# 
# Path: syncano_cli/sync/commands.py
# @click.group()
# def top_sync():
#     pass


# Path: syncano_cli/main.py
import click
from click import ClickException
from syncano.exceptions import SyncanoException
from syncano_cli.account.commands import top_account
from syncano_cli.base.exceptions import CLIBaseException, SyncanoLibraryException
from syncano_cli.commands import top_level
from syncano_cli.config_commands.commands import top_config
from syncano_cli.custom_sockets.commands import top_sockets
from syncano_cli.execute.commands import top_execute
from syncano_cli.hosting.commands import top_hosting
from syncano_cli.init.commands import top_init
from syncano_cli.instance.commands import top_instance
from syncano_cli.parse_to_syncano.commands import top_migrate
from syncano_cli.sync.commands import top_sync

# -*- coding: utf-8 -*-
from __future__ import print_function


cli = click.CommandCollection(
    sources=[
        top_account,
        top_config,
        top_execute,
        top_hosting,
        top_init,
        top_instance,
        top_level,
        top_migrate,
        top_sync,
        top_sockets,

    ],
)


def main():
    try:
        cli(obj={})
    except SyncanoException as e:

        raise SyncanoLibraryException(e.reason)