Example #1
0
def get_qr_svg_code(totp_uri):
	'''Get SVG code to display Qrcode for OTP.'''
	url = qrcreate(totp_uri)
	svg = ''
	stream = BytesIO()
	try:
		url.svg(stream, scale=4, background="#eee", module_color="#222")
		svg = stream.getvalue().decode().replace('\n', '')
		svg = b64encode(svg.encode())
	finally:
		stream.close()
	return svg
Example #2
0
def get_qr_svg_code(totp_uri):
	'''Get SVG code to display Qrcode for OTP.'''
	url = qrcreate(totp_uri)
	svg = ''
	stream = BytesIO()
	try:
		url.svg(stream, scale=4, background="#eee", module_color="#222")
		svg = stream.getvalue().decode().replace('\n', '')
		svg = b64encode(svg.encode())
	finally:
		stream.close()
	return svg
Example #3
0
def qrcode_as_png(user, totp_uri):
	'''Save temporary Qrcode to server.'''
	from frappe.utils.file_manager import save_file
	folder = create_barcode_folder()
	png_file_name = '{}.png'.format(frappe.generate_hash(length=20))
	file_obj = save_file(png_file_name, png_file_name, 'User', user, folder=folder)
	frappe.db.commit()
	file_url = get_url(file_obj.file_url)
	file_path = os.path.join(frappe.get_site_path('public', 'files'), file_obj.file_name)
	url = qrcreate(totp_uri)
	with open(file_path, 'w') as png_file:
		url.png(png_file, scale=8, module_color=[0, 0, 0, 180], background=[0xff, 0xff, 0xcc])
	return file_url
Example #4
0
def qrcode_as_png(user, totp_uri):
	'''Save temporary Qrcode to server.'''
	from frappe.utils.file_manager import save_file
	folder = create_barcode_folder()
	png_file_name = '{}.png'.format(frappe.generate_hash(length=20))
	file_obj = save_file(png_file_name, png_file_name, 'User', user, folder=folder)
	frappe.db.commit()
	file_url = get_url(file_obj.file_url)
	file_path = os.path.join(frappe.get_site_path('public', 'files'), file_obj.file_name)
	url = qrcreate(totp_uri)
	with open(file_path, 'w') as png_file:
		url.png(png_file, scale=8, module_color=[0, 0, 0, 180], background=[0xff, 0xff, 0xcc])
	return file_url
Example #5
0
def attach_qrcode(doctype,docname,qrcode):
    filename = 'QRCode_{}.png'.format(docname).replace(os.path.sep, "__")
    qr_image = io.BytesIO()
    url = qrcreate(qrcode, error='L')
    url.png(qr_image, scale=2, quiet_zone=1)
    _file = frappe.get_doc({
        "doctype": "File",
        "file_name": filename,
        "attached_to_doctype": doctype,
        "attached_to_name": docname,
        "attached_to_field": "qrcode_image",
        "is_private": 1,
        "content": qr_image.getvalue()})
    _file.save()
    frappe.db.commit()
    frappe.db.set_value(doctype,docname,"qrcode_image",_file.file_url)
Example #6
0
def qrcode_as_png(user, totp_uri):
	'''Save temporary Qrcode to server.'''
	folder = create_barcode_folder()
	png_file_name = '{}.png'.format(frappe.generate_hash(length=20))
	_file = frappe.get_doc({
		"doctype": "File",
		"file_name": png_file_name,
		"attached_to_doctype": 'User',
		"attached_to_name": user,
		"folder": folder,
		"content": png_file_name})
	_file.save()
	frappe.db.commit()
	file_url = get_url(_file.file_url)
	file_path = os.path.join(frappe.get_site_path('public', 'files'), _file.file_name)
	url = qrcreate(totp_uri)
	with open(file_path, 'w') as png_file:
		url.png(png_file, scale=8, module_color=[0, 0, 0, 180], background=[0xff, 0xff, 0xcc])
	return file_url
Example #7
0
    def attach_qrcode_image(self):
        qrcode = self.invoice.signed_qr_code
        doctype = self.invoice.doctype
        docname = self.invoice.name

        _file = frappe.new_doc('File')
        _file.update({
            'file_name': f'QRCode_{docname}.png',
            'attached_to_doctype': doctype,
            'attached_to_name': docname,
            'content': 'qrcode',
            'is_private': 1
        })
        _file.insert()
        frappe.db.commit()
        url = qrcreate(qrcode, error='L')
        abs_file_path = os.path.abspath(_file.get_full_path())
        url.png(abs_file_path, scale=2, quiet_zone=1)

        self.invoice.qrcode_image = _file.file_url
Example #8
0
def qrcode_as_png(member, verification_hash):
    site_name = frappe.db.get_single_value("Pranali Settings", "site_name")
    qr_data = site_name + '/verify?id=' + verification_hash
    folder = create_barcode_folder()
    png_file_name = '{}.png'.format(verification_hash)
    _file = frappe.get_doc({
        "doctype": "File",
        "file_name": png_file_name,
        "attached_to_doctype": 'Member',
        "attached_to_name": member,
        "folder": folder,
        "content": png_file_name
    })
    _file.save()
    frappe.db.commit()
    file_url = get_url(_file.file_url)
    file_path = os.path.join(frappe.get_site_path('public', 'files'),
                             _file.file_name)
    url = qrcreate(qr_data)
    with open(file_path, 'wb') as png_file:
        url.png(png_file, scale=3, module_color=[0, 0, 0, 180])
    return file_url
Example #9
0
def qrcode_as_png(user, totp_uri):
    """Save temporary Qrcode to server."""
    folder = create_barcode_folder()
    png_file_name = "{}.png".format(frappe.generate_hash(length=20))
    _file = frappe.get_doc({
        "doctype": "File",
        "file_name": png_file_name,
        "attached_to_doctype": "User",
        "attached_to_name": user,
        "folder": folder,
        "content": png_file_name,
    })
    _file.save()
    frappe.db.commit()
    file_url = get_url(_file.file_url)
    file_path = os.path.join(frappe.get_site_path("public", "files"),
                             _file.file_name)
    url = qrcreate(totp_uri)
    with open(file_path, "w") as png_file:
        url.png(png_file,
                scale=8,
                module_color=[0, 0, 0, 180],
                background=[0xFF, 0xFF, 0xCC])
    return file_url