示例#1
0
def _make_qr(builder, oauth, meta, config_dict, lets_connect, secret=None):
    # type: (Gtk.builder, str, Metadata, dict, bool, Any) -> None
    image = builder.get_object('totp-qr-image')
    if not secret:
        secret = gen_base32()
    host = urlparse(meta.api_base_uri).netloc
    uri = "otpauth://totp/{user_id}@{host}?secret={secret}&issuer={host}".format(user_id=meta.user_id, host=host,
                                                                                 secret=secret)
    qr = qrcode.QRCode(box_size=7, border=2)
    qr.add_data(uri)
    qr.make()
    img = qr.make_image()

    pixbuf = pil2pixbuf(img)
    image.set_from_pixbuf(pixbuf)
    GLib.idle_add(lambda: _parse_user_input(builder, oauth, meta, config_dict=config_dict,
                                            lets_connect=lets_connect, secret=secret))
示例#2
0
 def test_gen_base32(self):
     gen_base32()