当前位置: 首页>>代码示例>>Python>>正文


Python Response.make_conditional方法代码示例

本文整理汇总了Python中werkzeug.wrappers.Response.make_conditional方法的典型用法代码示例。如果您正苦于以下问题:Python Response.make_conditional方法的具体用法?Python Response.make_conditional怎么用?Python Response.make_conditional使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在werkzeug.wrappers.Response的用法示例。


在下文中一共展示了Response.make_conditional方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_favicon

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
	def get_favicon(self, request):
		f = path.join(self.www_dp, 'icons', 'loris-icon.png')
		r = Response(file(f), content_type='image/x-icon')
		if self.enable_caching:
			r.add_etag()
			r.make_conditional(request)
		return r
开发者ID:bodleian,项目名称:buildout.loris,代码行数:9,代码来源:webapp_1.2.3.py

示例2: create_response

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
 def create_response(self, request, tile_data, format):
     response = Response(
         tile_data,
         mimetype=format.mimetype,
         headers=[('Access-Control-Allow-Origin', '*')])
     response.add_etag()
     response.make_conditional(request)
     return response
开发者ID:mr,项目名称:tileserver,代码行数:10,代码来源:__init__.py

示例3: get_index

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
	def get_index(self, request):
		'''
		Just so there's something at /.
		'''
		f = file(path.join(self.www_dp, 'index.txt'))
		r = Response(f, content_type='text/plain')
		if self.enable_caching:
			r.add_etag()
			r.make_conditional(request)
		return r
开发者ID:bodleian,项目名称:buildout.loris,代码行数:12,代码来源:webapp_1.2.3.py

示例4: wsgi_app

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
    def wsgi_app(self, environ, start_response):
        """Execute this instance as a WSGI application.

        See the PEP for the meaning of parameters. The separation of
        __call__ and wsgi_app eases the insertion of middlewares.

        """
        original_response = Response.from_app(self.wrapped_app, environ)
        # We send relative locations to play nice with reverse proxies
        # but Werkzeug by default turns them into absolute ones.
        original_response.autocorrect_location_header = False

        if self.DIGEST_HEADER not in original_response.headers:
            return original_response

        digest = original_response.headers.pop(self.DIGEST_HEADER)
        filename = original_response.headers.pop(self.FILENAME_HEADER, None)
        mimetype = original_response.mimetype

        try:
            fobj = self.file_cacher.get_file(digest)
            size = self.file_cacher.get_size(digest)
        except KeyError:
            return NotFound()
        except TombstoneError:
            return ServiceUnavailable()

        request = Request(environ)
        request.encoding_errors = "strict"

        response = Response()
        response.status_code = 200
        response.mimetype = mimetype
        if filename is not None:
            response.headers.add(
                "Content-Disposition", "attachment", filename=filename)
        response.set_etag(digest)
        response.cache_control.max_age = SECONDS_IN_A_YEAR
        response.cache_control.private = True
        response.response = \
            wrap_file(environ, fobj, buffer_size=FileCacher.CHUNK_SIZE)
        response.direct_passthrough = True

        try:
            # This takes care of conditional and partial requests.
            response.make_conditional(
                request, accept_ranges=True, complete_length=size)
        except HTTPException as exc:
            return exc

        return response
开发者ID:cms-dev,项目名称:cms,代码行数:53,代码来源:file_middleware.py

示例5: create_response

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
    def create_response(self, request, status, body, mimetype):
        response_args = dict(
            status=status,
            mimetype=mimetype,
        )
        if self.add_cors_headers:
            response_args['headers'] = [('Access-Control-Allow-Origin', '*')]
        response = Response(body, **response_args)

        if status == 200:
            response.add_etag()
            response.make_conditional(request)

        return response
开发者ID:tilezen,项目名称:tileserver,代码行数:16,代码来源:__init__.py

示例6: handle_request

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
 def handle_request(self, request):
     if not request.path.endswith('.png'):
         return self.generate_404()
     vector_tile_service_path = request.path.replace('.png', '.json')
     fetch_result = self.fetcher(vector_tile_service_path)
     if fetch_result.is_error:
         return self.error_fetch_response(self, fetch_result)
     json_data = fetch_result.content
     feature_layers = transform_to_feature_layers(json_data)
     gif_content = self.mapnik_formatter(feature_layers)
     response = Response(gif_content, mimetype='image/png',
                         headers=[('Access-Control-Allow-Origin', '*')])
     response.add_etag()
     response.make_conditional(request)
     return response
开发者ID:mapzen,项目名称:raster-poc,代码行数:17,代码来源:__init__.py

示例7: render_static

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
    def render_static(self, request, fileobj):
        if request.method != 'GET':
            raise http.MethodNotAllowed(['GET'])

        content_type, _ = mimetypes.guess_type(fileobj.name)

        stat = os.stat(fileobj.name)
        etag = hashlib.md5(str(stat.st_mtime)).hexdigest()

        response = Response(fileobj, mimetype=content_type)
        response.content_length = stat.st_size
        response.add_etag(etag)
        response.last_modified = datetime.utcfromtimestamp(stat.st_mtime)
        response.expires = datetime.utcfromtimestamp(stat.st_mtime + self.static_expires)

        response.make_conditional(request)
        return response
开发者ID:dcrosta,项目名称:keystone,代码行数:19,代码来源:main.py

示例8: images

# 需要导入模块: from werkzeug.wrappers import Response [as 别名]
# 或者: from werkzeug.wrappers.Response import make_conditional [as 别名]
    def images(self, slug, max_width=None, max_height=None, *args, **kwargs):
        cr, context = request.cr, request.context

        # buscamos imagen por slug
        img, model = self._get_image_gallery(slug)
        if not img:
            return request.not_found()

        # leemos imagen
        [record] = model.read(
            cr, SUPERUSER_ID, [img[0]],
            ['name', 'last_update_img'], context=context)

        path_file = os.path.join(_filestorage(cr), record.get('name'))
        if not path_file:
            return request.not_found()

        # generamos respuesta
        server_format = misc.DEFAULT_SERVER_DATETIME_FORMAT
        response = Response(mimetype='image/jpg')
        response.last_modified = datetime.datetime.strptime(
            record.get('last_update_img'), server_format)
        response.make_conditional(request.httprequest)
        if response.status_code == 304:
            return response

        # si no hay tamaño la original
        if (not max_width) and (not max_height):
            data = self._read_image_data(path_file)
            response.set_etag(hashlib.sha1(data).hexdigest())
            response.data = data
            return response

        # creamos thumb si no existe
        path, file_name = os.path.split(path_file)
        path_file_thumb = os.path.join(path,
                                       '{}x{}'.format(max_width, max_height))
        if not os.path.exists(path_file_thumb):
            try:
                os.makedirs(path_file_thumb)
            except:
                _log.error(u"ERROR creando directorio para galerias <{}>"
                    .format(slug))
                return response

        path_file_thumb = os.path.join(path_file_thumb, file_name)
        if os.path.exists(path_file_thumb):
            data = self._read_image_data(path_file_thumb)
            response.set_etag(hashlib.sha1(data).hexdigest())
            response.data = data
            return response

        # creamos thumb
        data = self._read_image_data(path_file)
        response.set_etag(hashlib.sha1(data).hexdigest())
        image = Image.open(cStringIO.StringIO(data))
        response.mimetype = Image.MIME[image.format]

        w, h = image.size
        max_w = int(max_width) if max_width else maxint
        max_h = int(max_height) if max_height else maxint

        # guardamos en disco
        image.thumbnail((max_w, max_h), Image.ANTIALIAS)
        image.save(path_file_thumb, image.format)

        response.data = self._read_image_data(path_file_thumb)

        return response
开发者ID:Antiun,项目名称:odoo-website,代码行数:71,代码来源:main.py


注:本文中的werkzeug.wrappers.Response.make_conditional方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。