示例#1
0
def main(argv=None):
    if argv is None:
        import sys
        argv = sys.argv

    parser = optparse.OptionParser(description=__doc__,
                                   formatter=HelpFormatter(),
                                  )

    parser.add_option('--list', dest='list_components',
        action='store_true', default=False,
        help="List available components")

    options, args = parser.parse_args(argv[1:])

    if args:
        if args[0] == 'webconfig':
            from wiseguy.web.app import configurator
            serve(configurator)

        if args[0] == 'serve':
            filename = args[1]
            loader = AppLoader()
            loader.load_yaml(filename)
            app_factory = loader.get_app_factory('main')
            app = app_factory()
            serve(app)

    if options.list_components:
        ep_parser = EPParser()
        for component_name, component in ep_parser.get_components():
            print component_name, component
示例#2
0
 def test_it(self):
     from StringIO import StringIO
     import webob
     import gzip
     import paste.gzipper
     from wiseguy.loader import AppLoader
     from wiseguy.components.helloworld import HelloWorldFactory
     loader = AppLoader()
     loader.add_component('dummyfilter', DummyFilter)
     loader.load_yaml(test_config_file)
     app_factory = loader.get_app_factory('main')
     app = app_factory()
     self.assertEqual(app.__class__, paste.gzipper.middleware)
     self.assertEqual(app.application.__class__, DummyFilterFactory)
     self.assertEqual(app.application.app.__class__, HelloWorldFactory)
     request = webob.Request.blank('/')
     request.environ['HTTP_ACCEPT_ENCODING'] = 'gzip'
     status, headerlist, body = request.call_application(app)
     self.assertEqual(status, '200 OK')
     self.assertEqual(headerlist,
                      [('Content-Type', 'text/html; charset=UTF-8'),
                       ('content-encoding', 'gzip'),
                       ('Content-Length', '58')])
     io = StringIO(body[0])
     f = gzip.GzipFile(mode='r', fileobj=io)
     self.assertEqual(f.read(),
                      '<html><body><h1>Hello world!</h1></body></html>')
示例#3
0
 def test_it(self):
     from StringIO import StringIO
     import webob
     import gzip
     import paste.gzipper
     from wiseguy.loader import AppLoader
     loader = AppLoader()
     loader.add_component('dummyfilter', DummyFilter)
     loader.add_component('dummycomponent', DummyComponent)
     loader.load_yaml(test_config_file)
     app_factory = loader.get_app_factory('main')
     app = app_factory()
     self.assertEqual(app.__class__, paste.gzipper.middleware)
     self.assertEqual(app.application.__class__, DummyFilterFactory)
     self.assertEqual(app.application.app.__class__, DummyFactory)
     request = webob.Request.blank('/')
     request.environ['HTTP_ACCEPT_ENCODING'] = 'gzip'
     status, headerlist, body = request.call_application(app)
     self.assertEqual(status, '200 OK')
     self.assertEqual(headerlist,
                      [('Content-Type', 'text/html; charset=UTF-8'),
                       ('content-encoding', 'gzip'),
                       ('Content-Length', '38')])
     io = StringIO(body[0])
     f = gzip.GzipFile(mode='r', fileobj=io)
     self.assertEqual(f.read(), '<h1>Hello dummy</h1>')
def main(argv=None):
    if argv is None:
        import sys
        argv = sys.argv

    parser = optparse.OptionParser(
        description=__doc__,
        formatter=HelpFormatter(),
    )

    parser.add_option('--list',
                      dest='list_components',
                      action='store_true',
                      default=False,
                      help="List available components")

    options, args = parser.parse_args(argv[1:])

    if args:
        if args[0] == 'webconfig':
            from wiseguy.web.app import configurator
            serve(configurator)

        if args[0] == 'serve':
            filename = args[1]
            loader = AppLoader()
            loader.load_yaml(filename)
            app_factory = loader.get_app_factory('main')
            app = app_factory()
            serve(app)

    if options.list_components:
        ep_parser = EPParser()
        for component_name, component in ep_parser.get_components():
            print component_name, component