# Path: cliff/app.py
# _SIGINT_EXIT = 130
# _SIGPIPE_EXIT = 141
#     NAME = os.path.splitext(os.path.basename(sys.argv[0]))[0]
#         NAME = os.path.split(os.path.dirname(sys.argv[0]))[-1]
#     LOG = logging.getLogger(NAME)
#     CONSOLE_MESSAGE_FORMAT = '%(message)s'
#     LOG_FILE_MESSAGE_FORMAT = \
#         '[%(asctime)s] %(levelname)-8s %(name)s %(message)s'
#     DEFAULT_VERBOSE_LEVEL = 1
#     DEFAULT_OUTPUT_ENCODING = 'utf-8'
# class App(object):
#     def __init__(self, description, version, command_manager,
#                  stdin=None, stdout=None, stderr=None,
#                  interactive_app_factory=None,
#                  deferred_help=False):
#     def _set_streams(self, stdin, stdout, stderr):
#     def build_option_parser(self, description, version,
#                             argparse_kwargs=None):
#     def configure_logging(self):
#     def print_help_if_requested(self):
#     def run(self, argv):
#     def initialize_app(self, argv):
#     def prepare_to_run_command(self, cmd):
#     def clean_up(self, cmd, result, err):
#     def interact(self):
#     def get_fuzzy_matches(self, cmd):
#     def run_subcommand(self, argv):
# 
# Path: cliff/command.py
# def _get_distributions_by_modules():
# def _get_distribution_for_module(module):
#     def __init__(self, app, app_args, cmd_name=None):
#     def _load_hooks(self):
#     def get_description(self):
#     def get_epilog(self):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def run(self, parsed_args):
#     def _run_before_hooks(self, parsed_args):
#     def _run_after_hooks(self, parsed_args, return_code):
# class Command(object, metaclass=abc.ABCMeta):
# 
# Path: cliff/commandmanager.py
# LOG = logging.getLogger(__name__)
# def _get_commands_by_partial_name(args, commands):
#     def __init__(self, name, command_class):
#     def load(self, require=False):
#     def __init__(self, namespace, convert_underscores=True):
#     def _load_commands(self):
#     def load_commands(self, namespace):
#     def __iter__(self):
#     def add_command(self, name, command_class):
#     def add_legacy_command(self, old_name, new_name):
#     def find_command(self, argv):
#     def _get_last_possible_command_index(self, argv):
#     def add_command_group(self, group=None):
#     def get_command_groups(self):
#     def get_command_names(self, group=None):
# class EntryPointWrapper(object):
# class CommandManager(object):
# 
# Path: cliff/hooks.py
# class CommandHook(object, metaclass=abc.ABCMeta):
#     def __init__(self, command):
#     def get_parser(self, parser):
#     def get_epilog(self):
#     def before(self, parsed_args):
#     def after(self, parsed_args, return_code):
# 
# Path: cliff/lister.py
# class Lister(display.DisplayCommandBase, metaclass=abc.ABCMeta):
#     def formatter_namespace(self):
#     def formatter_default(self):
#     def need_sort_by_cliff(self):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def produce_output(self, parsed_args, column_names, data):
# 
# Path: cliff/show.py
# class ShowOne(display.DisplayCommandBase, metaclass=abc.ABCMeta):
#     def formatter_namespace(self):
#     def formatter_default(self):
#     def take_action(self, parsed_args):
#     def produce_output(self, parsed_args, column_names, data):
#     def dict2columns(self, data):


from cliff import app as application
from cliff import command
from cliff import commandmanager
from cliff import hooks
from cliff import lister
from cliff import show
from cliff.tests import base
from stevedore import extension
from unittest import mock
        return parsed_args

    def after(self, parsed_args, return_code):
        self._after_called = True
        return 24


class TestDisplayChangeHook(hooks.CommandHook):

    _before_called = False
    _after_called = False

    def get_parser(self, parser):
        parser.add_argument('--added-by-hook')
        return parser

    def get_epilog(self):
        return 'hook epilog'

    def before(self, parsed_args):
        self._before_called = True
        parsed_args.added_by_hook = 'othervalue'
        parsed_args.added_by_before = True
        return parsed_args

    def after(self, parsed_args, return_code):
        self._after_called = True
        return (('Name',), ('othervalue',))



# Path: cliff/app.py
# _SIGINT_EXIT = 130
# _SIGPIPE_EXIT = 141
#     NAME = os.path.splitext(os.path.basename(sys.argv[0]))[0]
#         NAME = os.path.split(os.path.dirname(sys.argv[0]))[-1]
#     LOG = logging.getLogger(NAME)
#     CONSOLE_MESSAGE_FORMAT = '%(message)s'
#     LOG_FILE_MESSAGE_FORMAT = \
#         '[%(asctime)s] %(levelname)-8s %(name)s %(message)s'
#     DEFAULT_VERBOSE_LEVEL = 1
#     DEFAULT_OUTPUT_ENCODING = 'utf-8'
# class App(object):
#     def __init__(self, description, version, command_manager,
#                  stdin=None, stdout=None, stderr=None,
#                  interactive_app_factory=None,
#                  deferred_help=False):
#     def _set_streams(self, stdin, stdout, stderr):
#     def build_option_parser(self, description, version,
#                             argparse_kwargs=None):
#     def configure_logging(self):
#     def print_help_if_requested(self):
#     def run(self, argv):
#     def initialize_app(self, argv):
#     def prepare_to_run_command(self, cmd):
#     def clean_up(self, cmd, result, err):
#     def interact(self):
#     def get_fuzzy_matches(self, cmd):
#     def run_subcommand(self, argv):
# 
# Path: cliff/command.py
# def _get_distributions_by_modules():
# def _get_distribution_for_module(module):
#     def __init__(self, app, app_args, cmd_name=None):
#     def _load_hooks(self):
#     def get_description(self):
#     def get_epilog(self):
#     def get_parser(self, prog_name):
#     def take_action(self, parsed_args):
#     def run(self, parsed_args):
#     def _run_before_hooks(self, parsed_args):
#     def _run_after_hooks(self, parsed_args, return_code):
# class Command(object, metaclass=abc.ABCMeta):
# 
# Path: cliff/commandmanager.py
# LOG = logging.getLogger(__name__)
# def _get_commands_by_partial_name(args, commands):
#     def __init__(self, name, command_class):
#     def load(self, require=False):
#     def __init__(self, namespace, convert_underscores=True):
#     def _load_commands(self):
#     def load_commands(self, namespace):
#     def __iter__(self):
#     def add_command(self, name, command_class):
#     def add_legacy_command(self, old_name, new_name):
#     def find_command(self, argv):
#     def _get_last_possible_command_index(self, argv):
#     def add_command_group(self, group=None):
#     def get_command_groups(self):
#     def get_command_names(self, group=None):
# class EntryPointWrapper(object):
# class CommandManager(object):
# 
# Path: cliff/hooks.py
# class CommandHook(object, metaclass=abc.ABCMeta):
#     def __init__(self, command):
#     def get_parser(self, parser):
#     def get_epilog(self):
#     def before(self, parsed_args):
#     def after(self, parsed_args, return_code):
# 
# Path: cliff/lister.py
# class Lister(display.DisplayCommandBase, metaclass=abc.ABCMeta):
#     def formatter_namespace(self):
#     def formatter_default(self):
#     def need_sort_by_cliff(self):
#     def take_action(self, parsed_args):
#     def get_parser(self, prog_name):
#     def produce_output(self, parsed_args, column_names, data):
# 
# Path: cliff/show.py
# class ShowOne(display.DisplayCommandBase, metaclass=abc.ABCMeta):
#     def formatter_namespace(self):
#     def formatter_default(self):
#     def take_action(self, parsed_args):
#     def produce_output(self, parsed_args, column_names, data):
#     def dict2columns(self, data):


# Path: cliff/tests/test_command_hooks.py
from cliff import app as application
from cliff import command
from cliff import commandmanager
from cliff import hooks
from cliff import lister
from cliff import show
from cliff.tests import base
from stevedore import extension
from unittest import mock

        return parsed_args

    def after(self, parsed_args, return_code):
        self._after_called = True
        return 24


class TestDisplayChangeHook(hooks.CommandHook):

    _before_called = False
    _after_called = False

    def get_parser(self, parser):
        parser.add_argument('--added-by-hook')
        return parser

    def get_epilog(self):
        return 'hook epilog'

    def before(self, parsed_args):
        self._before_called = True
        parsed_args.added_by_hook = 'othervalue'
        parsed_args.added_by_before = True
        return parsed_args

    def after(self, parsed_args, return_code):
        self._after_called = True
        return (('Name',), ('othervalue',))



class TestListerChangeHook(hooks.CommandHook):