# Path: nappingcat/exceptions.py
# class NappingCatUnhandled(NappingCatException):
#     pass
# 
# class NappingCatException(Exception):
#     pass
# 
# Path: nappingcat/exceptions.py
# class NappingCatException(Exception):
# class NappingCatBadArguments(NappingCatException):
# class NappingCatUnhandled(NappingCatException):
# class NappingCatBadConfig(NappingCatException):
# class NappingCatBadPatterns(NappingCatBadConfig):
# class NappingCatRejected(NappingCatException):
# 
# Path: nappingcat/config.py
# SECTION_NAME = 'kittyconfig' 
# def build_settings():
# def setup_environ(settings):
# 
# Path: nappingcat/response.py
# class Response(object):
# class TextResponse(Response):
#     def __init__(self, status_code, content):
#     def __str__(self):
#     def __init__(self, status_code, content):
#     def __str__(self):
# def Success(content, response_type=Response):
# def Failure(content, response_type=Response):
# 
# Path: nappingcat/util.py
# def _resolve_name(name, package, level):
# def import_class_from_module(name):


from nappingcat.exceptions import NappingCatUnhandled, NappingCatException
from nappingcat import exceptions, config, response
from nappingcat.util import import_module, import_class_from_module
import os
import sys

class App(object):
    def __init__(self, environ=None, stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr):
        if environ is None:
            environ = {}
            environ.update(os.environ)
            environ['argv'] = sys.argv[1:]
        self.environ = environ
        self.stdin = stdin
        self.stdout = stdout
        self.stderr = stderr

    def setup_environ(self):
        settings = config.build_settings()        

# Path: nappingcat/exceptions.py
# class NappingCatUnhandled(NappingCatException):
#     pass
# 
# class NappingCatException(Exception):
#     pass
# 
# Path: nappingcat/exceptions.py
# class NappingCatException(Exception):
# class NappingCatBadArguments(NappingCatException):
# class NappingCatUnhandled(NappingCatException):
# class NappingCatBadConfig(NappingCatException):
# class NappingCatBadPatterns(NappingCatBadConfig):
# class NappingCatRejected(NappingCatException):
# 
# Path: nappingcat/config.py
# SECTION_NAME = 'kittyconfig' 
# def build_settings():
# def setup_environ(settings):
# 
# Path: nappingcat/response.py
# class Response(object):
# class TextResponse(Response):
#     def __init__(self, status_code, content):
#     def __str__(self):
#     def __init__(self, status_code, content):
#     def __str__(self):
# def Success(content, response_type=Response):
# def Failure(content, response_type=Response):
# 
# Path: nappingcat/util.py
# def _resolve_name(name, package, level):
# def import_class_from_module(name):


# Path: nappingcat/app.py
from nappingcat.exceptions import NappingCatUnhandled, NappingCatException
from nappingcat import exceptions, config, response
from nappingcat.util import import_module, import_class_from_module
import os
import sys


class App(object):
    def __init__(self, environ=None, stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr):
        if environ is None:
            environ = {}
            environ.update(os.environ)
            environ['argv'] = sys.argv[1:]
        self.environ = environ
        self.stdin = stdin
        self.stdout = stdout
        self.stderr = stderr

    def setup_environ(self):
        settings = config.build_settings()        

        if not settings.has_section(config.SECTION_NAME):