from django.utils.safestring import mark_safe
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from django.core.urlresolvers import reverse
from django.utils.http import urlencode
from converter.exceptions import UnknownFileFormat, UnkownConvertError
def document_thumbnail(document):
return document_html_widget(document, click_view='document_preview')
def document_link(document):
return mark_safe(u'%s' % (reverse('document_view_simple', args=[document.pk]), document))
def document_html_widget(document, size='document_thumbnail', click_view=None, page=None, zoom=None, rotation=None, gallery_name=None, fancybox_class='fancybox'):
result = []
alt_text = _(u'document page image')
query_dict = {}
if page:
query_dict['page'] = page
if zoom:
query_dict['zoom'] = zoom
if rotation:
query_dict['rotation'] = rotation
if gallery_name:
gallery_template = u'rel="%s"' % gallery_name
else:
gallery_template = u''
query_string = urlencode(query_dict)
preview_view = u'%s?%s' % (reverse(size, args=[document.pk]), query_string)
print 'preview_view', preview_view
zoomable_template = []
if click_view:
zoomable_template.append(u'' % (gallery_template, fancybox_class, u'%s?%s' % (reverse(click_view, args=[document.pk]), query_string)))
zoomable_template.append(u'
' % (preview_view, settings.STATIC_URL, alt_text))
zoomable_template.append(u'' % (preview_view, alt_text))
if click_view:
zoomable_template.append(u'')
"""
plain_template = []
plain_template.append(u'
' % (preview_view, settings.STATIC_URL, alt_text))
plain_template.append(u'' % (preview_view, alt_text))
result.append(u'''
''' % {
u'url': reverse('documents-expensive-is_zoomable', args=[document.pk]),
u'pk': document.pk,
u'page': page if page else 1,
u'zoomable_template': mark_safe(u''.join(zoomable_template)),
u'plain_template': mark_safe(u''.join(plain_template)),
}
)
result.append(u'
' % (settings.STATIC_URL, alt_text))
result.append(u'' % (preview_view, alt_text))
result.append(u'')
result.append(u'