Пример #1
0
def thumbnail_dispatcher(request, path_info, size, crop):
	"""
	возвращает тумбнейлы
	формат вызова адреса: /news/folder/my_image/image/medium/1/ --
	картинка /news/folder/my_image размера 160х160, кропнутая
	"""

	THUMB_SIZE = {
		'tiny': (48, 48),
		'small': (80, 80),
		'medium': (160, 160),
		'big': (240, 240),
		'large': (320, 320),
		'extralarge': (640, 640)
		}

	dsize = THUMB_SIZE.get(size, (160,160))
	obj = get_object_by_url(path_info)

	if obj.get_class_name() not in ['Photo','VideoFile', 'News']: raise Http404

	if str(crop) != "0":
		img = obj.thumbnail_cropped(dsize)
	else:
		img = obj.thumbnail_resized(dsize)

	resp = HttpResponse(mimetype="image/jpeg")
	img.save(resp, "JPEG")
	return resp
Пример #2
0
def thumbnail_dispatcher(request, path_info, size, crop):
    """
	возвращает тумбнейлы
	формат вызова адреса: /news/folder/my_image/image/medium/1/ --
	картинка /news/folder/my_image размера 160х160, кропнутая
	"""

    THUMB_SIZE = {
        'tiny': (48, 48),
        'small': (80, 80),
        'medium': (160, 160),
        'big': (240, 240),
        'large': (320, 320),
        'extralarge': (640, 640)
    }

    dsize = THUMB_SIZE.get(size, (160, 160))
    obj = get_object_by_url(path_info)

    if obj.get_class_name() not in ['Photo', 'VideoFile', 'News']:
        raise Http404

    if str(crop) != "0":
        img = obj.thumbnail_cropped(dsize)
    else:
        img = obj.thumbnail_resized(dsize)

    resp = HttpResponse(mimetype="image/jpeg")
    img.save(resp, "JPEG")
    return resp
Пример #3
0
        def call(*cargs, **ckw):
            from core.portal.utils import form_page, get_object_by_url

            request = ckw.get("request") or cargs[0]
            obj = getattr(request, "main_object", get_object_by_url("/"))
            if "template" in kw:
                data = template_loader.get_template(kw["template"]).render(RequestContext(request, fn(*cargs, **ckw)))
            else:
                data = fn(*cargs, **ckw)
            columns = kw.get("columns", ("a", "b", "c"))
            return form_page(
                request, obj.get_absolute_url(), obj, edit=False, new_type=None, data=data, columns=columns
            )
Пример #4
0
 def call(*cargs, **ckw):
     from core.portal.utils import form_page, get_object_by_url
     request = ckw.get('request') or cargs[0]
     obj = getattr(request, 'main_object', get_object_by_url('/'))
     if 'template' in kw:
         data = template_loader.get_template(kw['template']).render(
             RequestContext(request, fn(*cargs, **ckw)))
     else:
         data = fn(*cargs, **ckw)
     columns = kw.get('columns', ('a', 'b', 'c'))
     return form_page(request,
                      obj.get_absolute_url(),
                      obj,
                      edit=False,
                      new_type=None,
                      data=data,
                      columns=columns)
Пример #5
0
def rss_dispatcher(request, path_info, type_name):
	"""
	конфиглеты:
	rss_show ::= True|False, показывать ли на этой странице ленту сразу же
	rss_link ::= <url>, показывать по ссылке <.../RSS> ленту для этого объекта вместо текущего
	rss_type ::= CLASS_NAME, по умолчанию (в случае с rss_show) показывать опр. тип
	"""

	from django.contrib.syndication.views import feed

	from core.feeds import ObjectFeed
	request.rss_type_name = type_name

	page = get_object_by_url(path_info)
	path_info = page.config().get('rss_link',  path_info)
	request.config = page.config()

	return feed(request, url = "default/%s"%path_info, feed_dict = {'default': ObjectFeed} )
Пример #6
0
def rss_dispatcher(request, path_info, type_name):
    """
	конфиглеты:
	rss_show ::= True|False, показывать ли на этой странице ленту сразу же
	rss_link ::= <url>, показывать по ссылке <.../RSS> ленту для этого объекта вместо текущего
	rss_type ::= CLASS_NAME, по умолчанию (в случае с rss_show) показывать опр. тип
	"""

    from django.contrib.syndication.views import feed

    from core.feeds import ObjectFeed
    request.rss_type_name = type_name

    page = get_object_by_url(path_info)
    path_info = page.config().get('rss_link', path_info)
    request.config = page.config()

    return feed(request,
                url="default/%s" % path_info,
                feed_dict={'default': ObjectFeed})