Beispiel #1
0
def create_404_image():
    msg = Image.new("RGB", (100, 20), (0, 0, 0))
    draw = ImageDraw.Draw(msg)
    draw.text((5, 5), "404 Not found", fill=(255, 255, 255))
    del draw
    f = StringIO()
    msg.save(f, "JPEG")
    del msg
    app = DataApp(content=f.getvalue(), content_type='image/jpeg')
    app.cache_control(public=True, max_age=86400*36500)
    return app
Beispiel #2
0
 def _get_handler(self, environ):
     path = environ['PATH_INFO']
     filepath = p.join(self._basedir, *path.split('/'))
     if not p.exists(filepath):
         return HTTPNotFound('The resource does not exist',
                 comment="Nothing at %r" % path).wsgi_application
     # TODO: this exposes all files; sep. query-views-tplts and static files
     if p.isfile(filepath):
         return FileApp(filepath)
     else:
         data, mimetype, encoding = self._process_view(filepath)
         headers = [
             ('Content-Type', mimetype),
             ('Content-Encoding', encoding),
         ]
         return DataApp(data, headers)
Beispiel #3
0
def get_info(environ, start_response):
    #    command = dict(parse_querystring(environ)).get('command','')
    page = str(parse_querystring(environ))

    #    if command == 'clear':
    #        if 'REMOTE_USER' in environ:
    #            del environ['REMOTE_USER']
    #        if 'REMOTE_SESSION' in environ:
    #            del environ['REMOTE_SESSION']
    #    else:
    #        environ['REMOTE_SESSION'] = authfunc(environ, my_realm, environ['REMOTE_USER'] )

    #    if environ.get('REMOTE_USER'):
    #        page = '<html><body>Welcome %s (%s)</body></html>'
    #        page %= (environ['REMOTE_USER'], environ['REMOTE_SESSION'])
    #    else:
    #        page = ('<html><body><form><input name="user" />'
    #                '<input type="submit" /></form></body></html>')
    return DataApp(page, content_type="text/plain")(environ, start_response)
Beispiel #4
0
 def test_dataapp(self):
     from paste.fileapp import DataApp
     app = DataApp('Ababoua')
     status, headers, app_it = request.call_application(app)
     assert False
Beispiel #5
0
 def get(self, environ, start_response):
     if "max-age=0" in CACHE_CONTROL(environ).lower():
         self.update(force=True)  # RFC 2616 13.2.6
     else:
         self.update()
     return DataApp.get(self, environ, start_response)
Beispiel #6
0
    LAUNCHPAD_SERVICES,
)
from lp.codehosting.safe_open import safe_open
from lp.codehosting.vfs import get_lp_server
from lp.services.config import config
from lp.services.webapp.errorlog import ErrorReportingUtility
from lp.services.webapp.openid import set_default_openid_fetcher
from lp.services.webapp.vhosts import allvhosts
from lp.xmlrpc import faults

robots_txt = '''\
User-agent: *
Disallow: /
'''

robots_app = DataApp(robots_txt, content_type='text/plain')

thread_locals = threading.local()

set_default_openid_fetcher()


def check_fault(fault, *fault_classes):
    """Check if 'fault's faultCode matches any of 'fault_classes'.

    :param fault: An instance of `xmlrpclib.Fault`.
    :param fault_classes: Any number of `LaunchpadFault` subclasses.
    """
    for cls in fault_classes:
        if fault.faultCode == cls.error_code:
            return True
Beispiel #7
0
 def get(self, environ, start_response):
     if 'max-age=0' in CACHE_CONTROL(environ).lower():
         self.update(force=True)  # RFC 2616 13.2.6
     else:
         self.update()
     return DataApp.get(self, environ, start_response)