def get(self, resource): filename = str(urllib.unquote(resource)) if not filename in VALID_RESOURCES: logging.warning('Unknown resource "%s"' % resource) self.error(404) blob_data = memcache.get(filename, namespace='static_blobs') if blob_data is None: blob = StaticBlobInlineFile.gql('WHERE filename = :1', filename).get() if blob: blob_data = blob.blob else: # Cache negative. blob_data = '' memcache.set(filename, blob_data, namespace='static_blobs') if blob_data: # Access to a protected member XXX of a client class # pylint: disable=W0212 self.response.headers['Content-Type'] = mail._GetMimeType(filename) self.response.out.write(blob_data) else: self.redirect('/static/' + resource)
def get_mime_type(filename): try: return mail._GetMimeType(filename) except: return 'application/octet-stream'
def attachment_info((filename, payload)): return "- '%s' (%.1fkB; %s)" \ % (filename, len(payload.decode()) / 1024., mail._GetMimeType(filename))