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)
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))
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())
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())
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)
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()
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)
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."
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)
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)
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')
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
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()
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'
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)
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
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
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)
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()
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)
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)
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
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))
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()
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")
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')
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")
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()
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
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')
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)
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))
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())
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'
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')
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
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
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()
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()
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')
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()
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
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])
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))
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()
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
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
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))
def _generate_image(self): qr = QRCode(error_correction=ERROR_CORRECT_L) qr.add_data(self.url) return qr.make_image()
from qrcode import QRCode qr = QRCode(foreground_color="#424242") qr.add_data("test") img = qr.make_image() img.save("test.png")
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)
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()