Exemple #1
0
 def svg_qrcode_rects(data='QR Code Symbol'):
     """qrcode SVG rects"""
     qr = QRCode(error_correction=ERROR_CORRECT_M,
                 box_size=10,
                 image_factory=SvgImage)
     qr.add_data(data, optimize=False)
     qr.make_image().save('out/qrcode_rects_%s.svg' % data)
Exemple #2
0
 def svg_qrcode_path(data='QR Code Symbol'):
     """qrcode SVG path"""
     qr = QRCode(error_correction=ERROR_CORRECT_M,
                 box_size=10,
                 image_factory=SvgPathImage)
     qr.add_data(data, optimize=False)
     qr.make_image().save(
         os.path.join(_output_dir(), 'qrcode_path_%s.svg' % data))
Exemple #3
0
 def get(self):
     
     self.set_header(r'Content-Type', r'image/png')
     
     stream = BytesIO()
     
     code = QRCode()
     
     code.add_data(self.get_argument(r'data', r''))
     
     code.make_image().save(stream)
     
     return self.finish(stream.getvalue())
Exemple #4
0
 def get(self):
     
     self.set_header(r'Content-Type', r'image/png')
     
     stream = BytesIO()
     
     code = QRCode()
     
     code.add_data(self.get_argument(r'data', r''))
     
     code.make_image().save(stream)
     
     return self.finish(stream.getvalue())
Exemple #5
0
def register():
   form = RegistrationForm(request.form)
   if request.method == 'POST' and form.validate_on_submit():
      #user = User(form.first_name.data, form.last_name.data, form.username.data,
      #            form.username.data, form.email.data, form.enrollment.data,
      #            form.college_name.data)
      user = User()
      form.populate_obj(user)
      #user.password = generate_password_hash(user.password)
      user.qr_data = sha1(user.email).hexdigest()

      qr = QRCode(version=10, error_correction=ERROR_CORRECT_H)
      qr.add_data(user.qr_data)
      qr.make() # Generate the QRCode itself
      #im contains a PIL.Image.Image object
      im = qr.make_image()
      # To save it
      im.save("qr.png")
      #db_session.add(user)
      sendmail(user.email)
      db.session.add(user)
      db.session.commit()

      return render_template('register.html',isreg=True)
   return render_template('register.html', form=form, isreg=False)
Exemple #6
0
def parse_add(datafile, event_id):
    csvFile = open(datafile)
    fileData = reader(csvFile, delimiter=';', quotechar='|')
    for row in fileData:
        user = User()
        user.first_name = row[0]
        user.last_name = row[1]
        user.email = row[2]
        user.college_name = row[3]
        user.qr_data = sha1(user.email).hexdigest()
        #qr = QRCode(version=10, error_correction=ERROR_CORRECT_H)
        qr = QRCode(version=6,
                    border=4,
                    box_size=5,
                    error_correction=ERROR_CORRECT_Q)

        qr.add_data(user.qr_data)
        qr.make()  # Generate the QRCode itself
        #im contains a PIL.Image.Image object
        im = qr.make_image()
        # To save it
        im.save("qr.png")
        #db_session.add(user)
        sendmail(user.email)
        db.session.add(user)
        db.session.commit()
        eu = EventUsers(event_id, user.id)
        db.session.add(eu)
        db.session.commit()
Exemple #7
0
 def versao_full(self, nome_img='qr_complexo'):
     nome_img += '.png'
     qr = QRCode(version=20, error_correction=ERROR_CORRECT_L)
     qr.add_data(self.__msg)
     qr.make()
     im = qr.make_image()
     im.save(self.__caminho_img + nome_img)
Exemple #8
0
def register():

	if request.method == 'POST':
		print 'Username: '******'Username']
		print 'Password: '******'Password']

		# Connect to database
		db = sqlite3.connect('google_authenticator.db')
		cursor = db.cursor()

		# Create secret and add user to database
		secret = base64.b32encode(os.urandom(10)).decode('utf-8')
		query = 'INSERT INTO USERS (USER, PASSWORD, GOOGLEAUTH) VALUES (\"' + request.form['Username'] + '\",\"' + request.form['Password'] + '\",\"' + secret + '\");'
		cursor.execute(query)
		db.commit()
		db.close()

		# Create unique QR code given secret, label, and issuer
		auth = OtpAuth(secret)
		secret_uri = auth.to_uri('totp', GALabel, GAIssuer)
		qr = QRCode()
		qr.add_data(secret_uri)
		qr.make()
		img = qr.make_image()
		#img.show()	# Opens tmp QR code image
		print 'Secret: ', secret
		print 'Secret Uri: ', secret_uri

		# Display QR code in web browser
		return redirect(getQRCodeGoogleUrl(secret_uri))

	return "Nothing to see here."
Exemple #9
0
    def encode(self, data: bytearray) -> Image:
        """
        Encode a bytearray into a ChromaQR code.
        Returns a PIL Image which can be saved with `.save("filename.png")`.
        """

        codes = []
        section_length = math.ceil(len(data) / 3)
        split_data = [
            data[0:section_length], data[section_length:section_length * 2],
            data[section_length * 2:]
        ]

        error_correction_map = {
            ErrorCorrection.LOW: constants.ERROR_CORRECT_L,
            ErrorCorrection.MED: constants.ERROR_CORRECT_M,
            ErrorCorrection.HIGH: constants.ERROR_CORRECT_Q,
            ErrorCorrection.MAX: constants.ERROR_CORRECT_H
        }

        target_version = -1
        for i in range(3):
            qr_code = QRCode(
                version=target_version if i > 0 else None,
                error_correction=error_correction_map[self.error_correction])
            qr_code.add_data(split_data[i], optimize=0)
            qr_code.make()
            if i == 0: target_version = qr_code.version
            qr_code_image = qr_code.make_image(fill_color="black",
                                               back_color="white")
            codes.append(qr_code_image.convert("L"))

        return Image.merge("RGB", codes)
Exemple #10
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate_on_submit():
        #user = User(form.first_name.data, form.last_name.data, form.username.data,
        #            form.username.data, form.email.data, form.enrollment.data,
        #            form.college_name.data)
        user = User()
        form.populate_obj(user)
        #user.password = generate_password_hash(user.password)
        user.qr_data = sha1(user.email).hexdigest()

        qr = QRCode(version=10, error_correction=ERROR_CORRECT_H)
        qr.add_data(user.qr_data)
        qr.make()  # Generate the QRCode itself
        #im contains a PIL.Image.Image object
        im = qr.make_image()
        # To save it
        im.save("qr.png")
        #db_session.add(user)
        sendmail(user.email)
        db.session.add(user)
        db.session.commit()

        return render_template('register.html', isreg=True)
    return render_template('register.html', form=form, isreg=False)
Exemple #11
0
    def gen_qrcode(self, username, issuer_name="IAM MFA Code"):
        data = pyotp.totp.TOTP(self.secret_key).provisioning_uri(username, issuer_name)
        qr = QRCode(
            version=1,
            error_correction=constants.ERROR_CORRECT_L,
            box_size=6,
            border=4, )
        try:
            qr.add_data(data)
            qr.make(fit=True)
            img = qr.make_image()

            if settings.KEEP_QR_FILE is True:
                self.img_file = self.dirpath + os.sep + self.secret_key + '.png'
                img.save(self.img_file)  # 保存条形码图片
            else:
                self.img_file = None

            buf = io.BytesIO()
            img.save(buf, format='PNG') # 保存成字符串
            image_stream = buf.getvalue()
            heximage = base64.b64encode(image_stream)
            self.img_str = 'data:image/png;base64,' + heximage.decode()
            return True
        except Exception as e:
            traceback.print_exc()
            return False
def main():
    if len(argv) < 3:
        print 'Format: enc.py <identifier> <message>'
        return

    ID = argv[1]  # Identifier of origin
    MESSAGE = argv[2]

    # Read private key of origin
    with open(ID + '.pr', 'r') as f:
        privatekey = PrivateKey.load_pkcs1(f.read())

    # Sign message with private key
    SIGN = sign(MESSAGE, privatekey, 'SHA-256').encode('hex')

    # Concatenate message, signature and identifier
    TEXT = padding(MESSAGE, 100) + padding(SIGN, 400) + padding(ID, 100)

    # Create QR code
    qr = QRCode(
        version=1,
        error_correction=ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )

    qr.add_data(TEXT)
    qr.make(fit=True)

    img = qr.make_image()
    img.save(ID + '.png')
Exemple #13
0
def qrcode_view(request, code, size, size_in_centimeters=False):

    if size_in_centimeters:
        size = int(size)
        if size <= 6:
            size = NORMAL_SIZE
        elif size <= 8:
            size = LARGE_SIZE
        else:
            size = VERY_LARGE_SIZE
        qr = QRCode(
            error_correction=LEVEL[size],
            box_size=SIZE[size],
            border=0,
        )
    else:
        qr = QRCode(
            error_correction=LEVEL[size],
            box_size=SIZE[size],
            border=0,
        )
    qr.add_data(code)
    img = qr.make_image()

    rsp = HttpResponse(content_type='image/png')
    img.save(rsp)

    return rsp
Exemple #14
0
def parse_add(datafile, event_id):
  csvFile=open(datafile)
  fileData = reader(csvFile, delimiter=';', quotechar='|')
  for row in fileData:
    user = User()
    user.first_name=row[0]
    user.last_name=row[1]
    user.email=row[2]
    user.college_name=row[3]
    user.qr_data = sha1(user.email).hexdigest()
    #qr = QRCode(version=10, error_correction=ERROR_CORRECT_H)
    qr = QRCode(
       version=6,
       border=4,
       box_size=5,
       error_correction=ERROR_CORRECT_Q
       )

    qr.add_data(user.qr_data)
    qr.make() # Generate the QRCode itself
    #im contains a PIL.Image.Image object
    im = qr.make_image()
    # To save it
    im.save("qr.png")
    #db_session.add(user)
    sendmail(user.email)
    db.session.add(user)
    db.session.commit()
    eu = EventUsers(event_id,user.id)
    db.session.add(eu)
    db.session.commit()
Exemple #15
0
def get_qrcode(user):
    if not user.qrcode:
        user.qrcode = pyotp.random_base32()
        user.save()
    file_name = str(aes.encrypt(user.qrcode), encoding='utf-8')
    file = settings.QCODE_ROOT + '/' + file_name + '.png'
    if not os.path.exists(file):
        data = pyotp.totp.TOTP(user.qrcode).provisioning_uri(
            user.username, issuer_name="devEops")
        qr = QRCode(
            version=1,
            error_correction=constants.ERROR_CORRECT_L,
            box_size=6,
            border=4,
        )
        try:
            qr.add_data(data)
            qr.make(fit=True)
            img = qr.make_image()
            img.save(file)
            return '/media/qrcode/' + file_name + '.png'
        except Exception as e:
            return '/media/qrcode/' + file_name + '.png'
    else:
        return '/media/qrcode/' + file_name + '.png'
Exemple #16
0
 def create_qrcode(self, username):
     """
     创建二维码,用于google auth扫码
     :param username: 用户名字
     :return:
     """
     '''二维码保存位置'''
     filepath = Base_DIR + '/static/google_auth/'
     # 根据username获取secert_key
     secret_key = auth_orm.get_user_secret_key(username)
     data = pyotp.totp.TOTP(secret_key).provisioning_uri(
         username, issuer_name='YangHongFeiTest')
     qr = QRCode(version=1,
                 error_correction=constants.ERROR_CORRECT_L,
                 box_size=6,
                 border=4)
     try:
         qr.add_data(data)
         qr.make(fit=True)
         img = qr.make_image()
         print('QRCode Path:', filepath + username + '.png')
         img.save(filepath + username + '.png')
         return type
     except Exception as e:
         print(e)
Exemple #17
0
    def as_qrcode(self,
                  error_correction=ERROR_CORRECT_M,
                  box_size=5,
                  border=2,
                  fill_color="black",
                  back_color="white"):
        """
        :param error_correction:
        :param box_size:
        :param border:
        :param fill_color:
        :param back_color:
        :return:
        """
        qr = QRCode(
            error_correction=error_correction,
            box_size=box_size,
            border=border,
        )
        qr.add_data(self.as_vcard())
        qr.make(fit=True)

        # make QR Code, removing from PIL and convert into Bytestring
        with BytesIO() as f:
            img = qr.make_image(fill_color=fill_color, back_color=back_color)
            img.save(f)
            f.seek(0)
            bytes = f.getvalue()

        return bytes
Exemple #18
0
def qrcode_view(request, code, size, size_in_centimeters=False):

    if size_in_centimeters:
        size = int(size)
        if size <= 6:
            size = NORMAL_SIZE
        elif size <= 8:
            size = LARGE_SIZE
        else:
            size = VERY_LARGE_SIZE
        qr = QRCode(
            error_correction=LEVEL[size],
            box_size=SIZE[size],
            border=0,
        )
    else:
        qr = QRCode(
            error_correction=LEVEL[size],
            box_size=SIZE[size],
            border=0,
        )
    qr.add_data(code)
    img = qr.make_image()

    rsp = HttpResponse(content_type='image/png')
    img.save(rsp)

    return rsp
Exemple #19
0
def create_qr(data, z=None):

   
    box_size = int(z) < 15 and int(z) or 10
    meta = PngImagePlugin.PngInfo()
    filehash = sha1(data.encode('ascii', 'ignore')).hexdigest()[:12]
    filepath = os.path.join(app.config['UPLOAD_FOLDER'], filehash+'.png')
    
    data = data.encode('utf8')
    meta.add_text('message', data)
    
    if not os.path.exists(filepath):
        qr = QRCode(
            version=4,
            border=4,
            box_size=box_size,
        )

        qr.add_data(data)

        img = qr.make_image()
        img.save(filepath, 'png', pnginfo=meta)
    else :
        img = file(filepath)
    return (img, filepath, filehash)
Exemple #20
0
def gen_qrcode(name, data):
    fp = open(name, 'w')
    gen = QRCode()
    gen.add_data(data)
    img = gen.make_image()
    io = StringIO()    
    img.save(fp)
    fp.close()
Exemple #21
0
def render_qr(data, marker, html):
    qr = QRCode(box_size=5, border=2)
    qr.add_data(data)
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white")
    buf = BytesIO()
    img.save(buf)
    tag = 'data:image/png;base64,' + encodebytes(buf.getvalue()).decode()
    return html.replace(marker, tag)
Exemple #22
0
def print_qr_code(uuid: str):
    qr = QRCode()
    qr.add_data(uuid)
    try:
        get_ipython
        from IPython.display import display
        display(qr.make_image(fill_color="#111", back_color="#ccc"))
    except NameError:
        qr.print_ascii(invert=True)
Exemple #23
0
def buildQRRegion():
    qr = QRCode(box_size=1,
                border=1,
                image_factory=LPQRImage)
    qr.add_data(sha256("").hexdigest())
    qr.make()

    img = qr.make_image().get_image()
    return img
Exemple #24
0
def create_qrcode(params):
    qr = QRCode(error_correction=ERROR_CORRECT_H, box_size=params.size, border=params.border)
    qr.add_data(params.content)
    qr.make()

    output = params.output
    img = qr.make_image(fill_color=params.background, back_color=params.foreground)
    img.save(output)
    print('Created file: {}'.format(output))
Exemple #25
0
    def on_change_with_totp_qrcode(self, name=None):
        url = self.on_change_with_totp_url()
        if not url or not QRCode:
            return

        data = BytesIO()
        qr = QRCode(image_factory=PilImage)
        qr.add_data(url)
        image = qr.make_image()
        image.save(data)
        return data.getvalue()
Exemple #26
0
def qrcode_produce(url):
    qr = QRCode(
        version=1,
        error_correction=constants.ERROR_CORRECT_L,
        box_size=10,
        border=4,
    )
    qr.add_data(url)
    qr.make(fit=True)
    img = qr.make_image()
    img.save("qrcode.png")
Exemple #27
0
    def create_qr(self):
        qr = QRCode(version=1, error_correction=ERROR_CORRECT_H, border=4)
        #实例化一个QRcode类;version表示容错率,1为最高;error_correction表示纠错程度;
        #border表示二维码四周留白的格子数

        qr.add_data(self.text1.text())  #想要二维码s扫出来的内容
        qr.make(fit=True)  #生成

        img = qr.make_image()  #产生一个可处理的图像对象
        img = img.convert("RGB")  #设置色彩格式为RGB
        '''
        if self.text2.text():
            try:
                logo = Image.open('{}'.format(self.text2.text()))

                w, h = img.size
                logo_w = int(w/4)
                logo_h = int(h/4)

                rel_w = int((w-logo_w)/2)
                rel_h = int((h-logo_h)/2)
                logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
                #上面的代码全都是用来调整在二维码中间插入的图片的大小和位置

                logo = logo.convert("RGBA") #这里如果不是RGBA似乎会出错
                img.paste(logo, (rel_w, rel_h), logo) #将二维码和自己想添加的图片合成
            except:
                QMessageBox.about(self, 'Error', 'No Such a File')
        '''
        if self.text2.text():
            try:
                w, h = img.size
                text = self.text2.text()
                dr = ImageDraw.Draw(img)
                font = ImageFont.truetype(
                    os.path.join("C:/Windows/Fonts", "simyou.ttf"), 50)
                dr.text(((w - 180) / 2, h - 45),
                        text,
                        font=font,
                        fill='#000000')
                #上述将字符串写道图片上

            except:
                QMessageBox.about(self, 'Error', 'No Such a File')

        if self.text2.text() == None:
            pass

        try:
            img.save('{}'.format(self.text3.text()))  #保存图片
            QMessageBox.about(self, 'Message', 'Successfully Created')
        except:
            QMessageBox.about(self, 'Error', 'Please Enter The Right Path')
Exemple #28
0
def create_qr(data):
    qr = QRCode(
        version=1,
        error_correction=constants.ERROR_CORRECT_L,
        box_size=10,
        border=4
    )
    qr.add_data(data)
    qr.make(fit=True)

    img = qr.make_image(fill_collor='black', back_kolor='white')
    img.save("static/qr/qrcode.jpg", "JPEG")
Exemple #29
0
class X4QRCode(object):
    
    def __init__(self, w, h, message, **kwargs):
        self.qrc = QRCode()#w, h, **kwargs)
        self.qrc.add_data(message)
    
    def getPngImage(self, w, h, fgcol, bgcol):
        
        w = int(w)
        h = int(h)
        
        return self.qrc.make_image()
Exemple #30
0
    def get_qr_code(self, config):
        raw_config = render_to_string('partials/_config.txt',
                                      {'config': config})
        qr = QRCode()
        qr.add_data(raw_config)
        qr.make(fit=True)

        # render peer config
        img = qr.make_image(fill_color="black", back_color="white")

        buf = BytesIO()
        img.save(buf, format="PNG")
        return b64encode(buf.getvalue()).decode("utf-8")
def get_qr_code(data):
    qr = QRCode(version=1,
                error_correction=constants.ERROR_CORRECT_L,
                box_size=20,
                border=4)
    qr.add_data(data)
    qr.make(fit=True)
    img = qr.make_image()
    temp = StringIO()
    img.save(temp, format="PNG")
    qr_img = b64encode(temp.getvalue())

    return qr_img
Exemple #32
0
def qr_encode(request):
    data = request.GET.get('data', '')
    qrc = QRCode(
        box_size=20,
        image_factory=SvgPathFillImage,
    )
    qrc.add_data(data)
    img = qrc.make_image()
    strio = StringIO()
    img.save(strio)
    res = strio.getvalue()
    strio.close()
    return HttpResponse(res, content_type='image/svg+xml')
Exemple #33
0
def main():
    config_parser = ConfigParser()
    config_parser.read(CONFIG_FILE)
    config = config_parser['Main']
    api = QcosApi(config['api_url'])
    ticket_width = int(config['ticket_width'])
    ticket_height = int(config['ticket_height'])

    while True:
        ticket = api.get_printable_ticket()
        if ticket is not None:
            print(ticket)
            ticket_info = api.get_ticket_info(ticket['ticket_info'])
            print(ticket_info)
            fee = api.get_fee(ticket_info['fee'])
            print(fee)
            camp = api.get_camp(fee['camp'])
            print(camp)
            registration = api.get_registration(ticket_info['registration'])
            print(registration)
            clan = api.get_clan(registration['clan'])
            print(clan)
            ticket_image = Image.new('RGB', (ticket_width, ticket_height),
                                     color=(255, 255, 255))
            ticket_draw = ImageDraw.Draw(ticket_image)
            pos = draw_text(ticket_draw, camp['name'], (10, 0), ticket_width,
                            ticket_height * 0.25)
            pos = draw_text(ticket_draw, clan['name'], (10, pos[1]),
                            ticket_width, ticket_height * 0.1)
            pos = draw_text(ticket_draw, fee['name'], (10, pos[1]),
                            ticket_width, ticket_height * 0.1)
            draw_text(ticket_draw, ticket['guid'], (10, pos[1]), ticket_width,
                      ticket_height * 0.05)

            qr = QRCode(version=1,
                        error_correction=ERROR_CORRECT_M,
                        box_size=10,
                        border=4)
            qr.add_data(ticket['guid'])
            qr_img = qr.make_image(fill_color="black", bakc_color="white")

            ticket_image.paste(qr_img, (10, int(ticket_height / 2)))

            ticket_image.save(config['temp_file'])

            qlr = BrotherQLRaster(config['model'])
            create_label(qlr, "test.png", '62')
            with open(config['printer_path'], 'wb') as file:
                file.write(qlr.data)
            api.mark_ticket_printed(ticket)
        sleep(2)
Exemple #34
0
    def __init__(self, parent, address):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent

        self.address = address
        self.addressButton.setText(address)

        qr = QRCode()
        qr.add_data(address)
        qr.make(fit=True)
        img = qr.make_image(fill_color='black', back_color='white')
        qimg = ImageQt(img)
        self.qrcode.setPixmap(QPixmap.fromImage(qimg))
Exemple #35
0
 def GenCode(self,uid):
     data = 'http://'+ServerURL+'/tools/static/query.html?id='+uid
     #print data
     
     from qrcode import QRCode
     from StringIO import StringIO
     gen = QRCode()
     gen.add_data(data)
     img = gen.make_image()
     io = StringIO()
     img.save(io)
     io.seek(0)
     
     #image = QImage()
     self.image.loadFromData(io.read())
Exemple #36
0
def add_qrcode():
    data = request.args.get('data', 'www.baidu.com?a=1234&b=4567')
    assert data == ''
    qr = QRCode(version=1,
                error_correction=constants.ERROR_CORRECT_L,
                box_size=10,
                border=4,
                image_factory=None,
                mask_pattern=None)
    qr.add_data(data)
    qr.make(fit=True)
    img = qr.make_image(fill_color='black', back_color='white')
    path = current_app.config['USER_UPLOAD_DIR'] + 'x.png'
    assert img.save(path)
    return 'ok'
Exemple #37
0
    def createQr(self):
        qr = QRCode(version=1, error_correction=ERROR_CORRECT_H, border=4)

        qr.add_data(self.text1.text())
        qr.make(fit=True)

        img = qr.make_image()
        img = img.convert("RGB")

        if self.text2.text():
            try:
                w, h = img.size
                text = self.text2.text()
                dr = ImageDraw.Draw(img)
                font = ImageFont.truetype(
                    os.path.join("C:/Windows/Fonts", "simyou.ttf"), 50)
                dr.text(((w - 160) / 2, h - 45),
                        text,
                        font=font,
                        fill='#000000')
                #上述将字符串写道图片上

            except:
                QMessageBox.about(self, 'Error', 'Error')

        if self.text2.text() == None:
            pass

        try:
            logo = Image.open(self.fname)

            w, h = img.size
            logo_w = int(w / 4)
            logo_h = int(h / 4)

            rel_w = int((w - logo_w) / 2)
            rel_h = int((h - logo_h) / 2)
            logo = logo.resize((logo_w, logo_h), Image.ANTIALIAS)
            logo = logo.convert("RGBA")
            img.paste(logo, (rel_w, rel_h), logo)
            finame, jud = QFileDialog.getSaveFileName(
                self, '保存文件', './', "Image Files (*.jpg *.png)")
            if jud and img:
                img.save(finame)

        except:
            QMessageBox.about(self, 'Error', 'No Such a File')
Exemple #38
0
def get_qrcode(skey, username):
    filepath = os.path.join(BASE_DIR, '/media/qrcode/')
    data = pyotp.totp.TOTP(skey).provisioning_uri(username,
                                                  issuer_name=u'SOMS')
    qr = QRCode(version=1,
                error_correction=constants.ERROR_CORRECT_L,
                box_size=6,
                border=4)
    try:
        qr.add_data(data)
        qr.make(fit=True)
        img = qr.make_image()
        img.save(filepath + username + '.png')
        return True
    except Exception, e:
        print e
        return False
Exemple #39
0
    def _compute_qr_image(self):

        for document in self:
            qrcode_content = document._get_qrcode_content()
            qr = QRCode(
                version=1,
                error_correction=qr_constants.ERROR_CORRECT_L,
                box_size=5,
                border=4,
            )
            qr.add_data(qrcode_content)
            qr.make(fit=True)
            qr_image = qr.make_image()
            temp_file = StringIO()
            qr_image.save(temp_file)
            qr_image = b64encode(temp_file.getvalue())
            document.qr_image = qr_image
Exemple #40
0
    def print_qr(self, data):

        qr = QRCode(version=None,
                    error_correction=ERROR_CORRECT_H,
                    box_size=20
                   )
        qr.add_data(data)

        qr.make(fit=True) # Generate the QRCode itself

        # im contains a PIL.Image.Image object
        im = qr.make_image()
        prntr = Popen(["lp", "-s", "-d%s" % self.printer_name], stdin = PIPE, stdout = None, stderr = None)
        ## To send it to the printer
        im.save(prntr.stdin)
        # wait for process to do its stuff 
        prntr.communicate()
Exemple #41
0
 def generate_qrcode(self, product_id="", url='weixin://wxpay/bizpayurl'):
     kwargs = {}
     kwargs.update({
         'appid': self.appid,
         'mch_id': self.mch_id,
         'time_stamp': str(int(time())),
         'nonce_str': uuid4().hex,
         'product_id': product_id,
     })
     kwargs.update({'sign': self.generate_sign(kwargs)})
     scheme, netloc, path, params, query, fragment = urlparse.urlparse(url)
     query = urllib.urlencode(kwargs)
     url = urlparse.urlunparse((scheme, netloc, path,
                                params, query, fragment))
     qr = QRCode(version=1)
     logger.debug(url)
     qr.add_data(url)
     return qr.make_image()
Exemple #42
0
def generate_qr_code_response(request):
    user = request.user

    qrcode = QRCode(
        error_correction=ERROR_CORRECT_H,
        box_size=4,
        border=4
    )

    uri = generate_uri('totp', bytes(user.secret), user.email, 'keybar')

    qrcode.add_data(uri)
    qrcode.make(fit=True)
    img = qrcode.make_image()

    stream = io.BytesIO()
    img.save(stream)

    return HttpResponse(stream.getvalue(), content_type='image/png')
Exemple #43
0
def gen_qrcode(filename,qrdata):
    
    fp = open(filename, 'w')
    
    #564be177d52c9e7a68b2c83d
    
    gen = QRCode()
    gen.add_data(qrdata)
    img = gen.make_image()
    io = StringIO()
    #img.save(io)
    img.save(fp)
    
    #img.show()
    #io.seek(0)
    #response = make_response(io.read())
    #response.headers['content-Type'] = 'image/jpeg'
   
    fp.close()
Exemple #44
0
 def _gen_code_img(data_url, img_seed_name):
     from qrcode import QRCode, constants
     qr = QRCode(
         version=1,
         error_correction=constants.ERROR_CORRECT_L,
         box_size=10,
         border=4,
     )
     
     full_url = "http://" + QRCodeManager.HOST + data_url
     qr.add_data(full_url)
     qr.make(fit=True)
     img = qr.make_image()
     
     img_name = "qrcode_" + img_seed_name + ".png"
     img_path = settings.MEDIA_ROOT + "qrcodes/" + img_name
     img_url = settings.MEDIA_URL + "qrcodes/" + img_name
     
     img.save(img_path, 'PNG')
      
     return img_url
Exemple #45
0
def adduser(event_id=1):
   form = RegistrationForm(request.form)
   eventdata = db.session.query(Events).filter_by(id = event_id).all()
   if request.method == 'POST' and form.validate_on_submit():
      #user = User(form.first_name.data, form.last_name.data, form.username.data,
      #            form.username.data, form.email.data, form.enrollment.data,
      #            form.college_name.data)
      user = User()

      form.populate_obj(user)
      #user.password = generate_password_hash(user.password)
      user.qr_data = sha1(user.email).hexdigest()

      #qr = QRCode(version=10, error_correction=ERROR_CORRECT_H)

      qr = QRCode(
         version=6,
         border=4,
         box_size=5,
         error_correction=ERROR_CORRECT_Q
         )

      qr.add_data(user.qr_data)
      qr.make() # Generate the QRCode itself
      #im contains a PIL.Image.Image object
      im = qr.make_image()
      # To save it
      im.save("qr.png")
      #db_session.add(user)
      sendmail(user.email)
      db.session.add(user)
      db.session.commit()
      eu = EventUsers(event_id,user.id)
      db.session.add(eu)
      db.session.commit()
      event_d = db.session.query(Events).filter_by(id = event_id).all()
      cnt = db.session.query(EventUsers).filter_by(event_id = event_id).count()
      return render_template('eventdetails.html', event_id=event_id, eventdata=event_d[0],cnt=cnt)
   return render_template('adduser.html', form=form, isreg=False,event_id=event_id, event=eventdata[0])
Exemple #46
0
    def _getAnswer(self):
        config = Config.getInstance()
        checkin_app_client_id = config.getCheckinAppClientId()
        if checkin_app_client_id is None:
            raise NoReportError(_("indico-checkin client_id is not defined in the Indico configuration"))
        checkin_app = OAuthApplication.find_first(client_id=checkin_app_client_id)
        if checkin_app is None:
            raise NoReportError(
                _("indico-checkin is not registered as an OAuth application with client_id {}").format(
                    checkin_app_client_id
                )
            )

        # QRCode (Version 6 with error correction L can contain up to 106 bytes)
        qr = QRCode(version=6, error_correction=constants.ERROR_CORRECT_M, box_size=4, border=1)

        baseURL = config.getBaseSecureURL() if config.getBaseSecureURL() else config.getBaseURL()
        qr_data = {
            "event_id": self._conf.getId(),
            "title": self._conf.getTitle(),
            "date": format_date(self._conf.getAdjustedStartDate()),
            "server": {
                "baseUrl": baseURL,
                "consumerKey": checkin_app.client_id,
                "auth_url": url_for("oauth.oauth_authorize", _external=True),
                "token_url": url_for("oauth.oauth_token", _external=True),
            },
        }
        json_qr_data = json.dumps(qr_data)
        qr.add_data(json_qr_data)
        qr.make(fit=True)
        qr_img = qr.make_image()

        output = StringIO()
        qr_img._img.save(output, format="png")
        im_data = output.getvalue()

        return "data:image/png;base64,{0}".format(base64.b64encode(im_data))
Exemple #47
0
def generate(key_type, key, user, issuer, counter=None, **kwargs):
    r"""
    Generate a QR code suitable for Google Authenticator.

    See: https://code.google.com/p/google-authenticator/wiki/KeyUriFormat

    :param str key_type: the auth type, either ``totp`` or ``hotp``
    :param str key: the secret key
    :param str user: the username
    :param str issuer: issuer name
    :param counter: initial counter value (HOTP only)
    :type counter: :func:`int` or :data:`None`
    :param \*\*kwargs: Arguments passed to the :class:`qrcode.QRCode`
                       constructor
    :returns: an image object
    :rtype: :class:`qrcode.image.base.BaseImage`
    """
    qr = QRCode(**kwargs)
    oath_uri = uri.generate(key_type, key, user, issuer, counter)
    qr.add_data(oath_uri)
    if kwargs.get('version') is None:
        qr.make(fit=True)
    return qr.make_image()
Exemple #48
0
def generate_ticket_qr_code(registration):
    """Generate a Pillow `Image` with a QR Code encoding a check-in ticket.

    :param registration: corresponding `Registration` object
    """
    qr = QRCode(
        version=17,
        error_correction=constants.ERROR_CORRECT_Q,
        box_size=3,
        border=1
    )
    qr_data = {
        "registrant_id": registration.id,
        "checkin_secret": registration.ticket_uuid,
        "event_id": unicode(registration.event.id),
        "server_url": config.BASE_URL,
        "version": 1
    }
    signals.event.registration.generate_ticket_qr_code.send(registration, ticket_data=qr_data)
    json_qr_data = json.dumps(qr_data)
    qr.add_data(json_qr_data)
    qr.make(fit=True)
    return qr.make_image()._img
Exemple #49
0
def create_pdf(name, orderid, ticketid, event, tickettype):
    packet = StringIO.StringIO()
    # create a new PDF with Reportlab
    can = canvas.Canvas(packet)
    qr = QRCode(version=1, error_correction=ERROR_CORRECT_L, box_size=50, border=4, )
    qr.add_data(uuid.uuid4())
    qr.make(fit=True)  # Generate the QRCode itself
    # im contains a PIL.Image.Image object
    im = qr.make_image()
    im.save(os.path.join(settings.PDF_LOCATION, 'qr', "qr" + str(ticketid) + ".jpg"), 'JPEG')
    can.drawImage(os.path.join(settings.PDF_LOCATION, 'qr', 'qr' + str(ticketid) + ".jpg"), 150, 50, 125, 125)
    os.remove(os.path.join(settings.PDF_LOCATION, 'qr', 'qr' + str(ticketid) + ".jpg"))
    terms = Terms.objects.get(id=1).terms
    terms = terms.replace('\r\n', 'SPLIT')
    terms = terms.split("SPLIT")
    x = 150
    for line in terms:
        can.drawString(300, x, line)
        x -= 15
    can.drawString(20, 150, str(name))
    can.drawString(20, 135, "OrderNr: " + str(orderid))
    can.drawString(20, 120, "TicketNr: " + str(ticketid))
    can.drawString(20, 30, "Type: " + str(tickettype))
    can.line(290, 160, 290, 5)
    can.drawString(110, 150, "")
    can.save()
    # move to the beginning of the StringIO buffer
    packet.seek(0)
    new_pdf = PdfFileReader(packet)
    # read your existing PDF
    existing_pdf = PdfFileReader(file(event.template.path, "rb"))
    output = PdfFileWriter()
    # add the "watermark" (which is the new pdf) on the existing page
    page = existing_pdf.getPage(0)
    page.mergePage(new_pdf.getPage(0))
    output.addPage(page)
    return output
Exemple #50
0
    def _getAnswer(self):

        consumers = dict((consumer.getName(), consumer) for consumer in ConsumerHolder().getList())

        if "indico-checkin" not in consumers:
            raise NoReportError(_("There is no indico-checkin consumer key for OAuth"))

        # QRCode (Version 6 with error correction L can contain up to 106 bytes)
        qr = QRCode(
            version=6,
            error_correction=constants.ERROR_CORRECT_M,
            box_size=4,
            border=1
        )

        oauth_checkin = consumers["indico-checkin"]
        config = Config.getInstance()
        baseURL = config.getBaseSecureURL() if config.getBaseSecureURL() else config.getBaseURL()
        qr_data = {"event_id": self._conf.getId(),
                   "title": self._conf.getTitle(),
                   "date": format_date(self._conf.getAdjustedStartDate()),
                   "server": {"baseUrl": baseURL,
                              "consumerKey": oauth_checkin.getId(),
                              "consumerSecret": oauth_checkin.getSecret(),
                              }
                   }
        json_qr_data = json.dumps(qr_data)
        qr.add_data(json_qr_data)
        qr.make(fit=True)
        qr_img = qr.make_image()

        output = StringIO()
        qr_img._img.save(output, format="png")
        im_data = output.getvalue()

        return 'data:image/png;base64,{0}'.format(base64.b64encode(im_data))
Exemple #51
0
 def _generate_image(self):
     qr = QRCode(error_correction=ERROR_CORRECT_L)
     qr.add_data(self.url)
     return qr.make_image()
Exemple #52
0
from qrcode import QRCode
qr = QRCode(foreground_color="#424242")
qr.add_data("test")
img = qr.make_image()
img.save("test.png")
Exemple #53
0
from qrcode import QRCode

subject = "Science"
yearLevel = "07"
pageNumber = 0000
createdCodes = []

while pageNumber < 11:
    pageNumber += 1
    fileNumber = "{0} - Year{1} - Page{2}".format(subject, yearLevel, pageNumber)
    qr = QRCode(version=1, error_correction=ERROR_CORRECT_H)
    qr.add_data(fileNumber)
    qr.make()  # Generate the QRCode itself

    # im contains a PIL.Image.Image object
    im = qr.make_image()

    # To save it
    im.save("./qrcodes/%s.png" % fileNumber)
    createdCodes.append(fileNumber)


def load_from_file(file_path="filename.png"):
    with open(file_path, "rb") as image_file:
        image = Image.open(image_file)
        image.load()

    codes = zbarlight.scan_codes("qrcode", image)
    codes = codes[0].decode("ascii")
    print("QR codes: %s" % codes)
Exemple #54
0
def generate_qr_as_pil_image(data):
    qr = QRCode(error_correction=ERROR_CORRECT_L, box_size=5, border=1)
    qr.add_data(data)
    qr.make()
    return qr.make_image()