
Untitled
By: a guest on
Jun 17th, 2012 | syntax:
None | size: 1.04 KB | hits: 17 | expires: Never
from __future__ import absolute_import
import Image
import hashlib
import os
from ..lib.PyQRNative import *
from django import template
from django.conf import settings
from django.http import QueryDict
register = template.Library()
QRCODESURL = os.path.join("img", "qrcode")
QRCODESPATH = os.path.join(settings.STATIC_ROOT, QRCODESURL)
@register.filter(name="qrcode")
def qrcode(value,args):
qs = QueryDict(args)
m = hashlib.md5()
m.update(value)
md5 = m.hexdigest()
if qs.has_key('size') :
size=int(qs.get('size'))
else:
size=2
if qs.has_key('offset') :
offset=int(qs.get('offset'))
else:
offset=4
qr = QRCode(size, QRErrorCorrectLevel.L)
qr.addData(value)
qr.make()
filename = "%s.png" % md5
filepath = QRCODESPATH
if not os.path.exists( filepath ):
os.makedirs(filepath)
qr_image = qr.makeImage(size, offset)
qr_image.save( os.path.join(filepath, filename) )
return "%s/%s" % (QRCODESURL,filename)