Exemplo n.º 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
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
Exemplo n.º 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>')
Exemplo n.º 4
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>')
Exemplo n.º 5
0
def configurator(environ, start_response):
    request = webob.Request(environ)
    loader = AppLoader()
    rendering = ''
    if request.path_info == '/':
        schema = SectionSchema()
        schema = schema.bind(loader=loader)
        form = deform.Form(schema, buttons=('submit', ))
        if request.POST.get('submit'):
            controls = request.POST.items()
            try:
                captured = form.validate(controls)
                response = webob.exc.HTTPFound(
                    location='/app?name=%(name)s&component=%(component)s' %
                    captured)
                return response(environ, start_response)
            except deform.ValidationFailure, e:
                rendering = e.render()
        else:
            rendering = form.render()