Esempio n. 1
0
    def qr_image_format(self, qr_format, style='default',
                        inner_eye_style='default',
                        outer_eye_style='default'):

        generated_img = generate_qr_file('JUST SOME TEXT', qr_format=qr_format,
                                         style=style,
                                         inner_eye_style=inner_eye_style,
                                         outer_eye_style=outer_eye_style)
        generated_img.seek(0)
        pil = Image.open(generated_img).convert('L')
        width, height = pil.size
        raw = pil.tostring()
        image = zbar.Image(width, height, 'Y800', raw)
        scanner = zbar.ImageScanner()
        scanner.parse_config('enable')
        scanner.scan(image)
        self.assertEqual(len(image.symbols), 1)
        for symbol in image:
            self.assertEqual(symbol.data,'JUST SOME TEXT')
Esempio n. 2
0
inner_eye_qr = input(
    "circle, cushion, default, diamond, dots, heavyround, leaf, left_eye, right_eye, shield, sieve, star : "
)

print(
    "\n---------------------------\nChoose a style for the OUTER EYE from the options below \n---------------------------\n"
)

outer_eye_qr = input(
    "circle, cushion, default, diamond, dots, heavyround, leaf, left_eye, right_eye, shield, sieve, star : "
)

qr_one = qrlib.generate_qr_file(text,
                                qr_format='SVG',
                                style=qr_style,
                                inner_eye_style=inner_eye_qr,
                                outer_eye_style=outer_eye_qr)

topng(qr_one.getvalue())
image = Image.open('output.png')
image.show()

print(
    "\n--------------------\nLook we added logo for you!\n--------------------\n"
)

insert_logo(100)

print(
    "\n--------------------\nAnd now with a gradient!\n--------------------\n")
Esempio n. 3
0
def generate_qr(user, short):
    """
    Return QR for given URL
    """
    values = request.values
    validation_errors = []

    try:
        decoded_id = shortener.decode_url(short)
    except ValueError:
        abort(404)

    if not validate_owner(user):
        validation_errors.append({'resource': "user",
                                  'field': "id",
                                  'code': "invalid"})

    Url.query.filter_by(id=decoded_id, owner_id=user).first_or_404()

    def get_optional(name, default, validator):
        value = values.get(name)
        if value == None:
            return default
        if callable(validator) and not validator(value):
            validation_errors.append({'resource': "qr",
                                      'field': name,
                                      'code': "invalid"})
            return default
        return value

    application = get_optional('application', 'interior', validate_application)
    appsize = get_optional('appsize', 'small', validate_application_size)
    style = get_optional('style', 'default', validate_style)
    style_color = get_optional('stylecolor', '#000000', validate_color)
    inner_eye_style = get_optional('innereyestyle', 'default', validate_style)
    outer_eye_style = get_optional('outereyestyle', 'default', validate_style)
    inner_eye_color = get_optional('innereyecolor', '#000000', validate_color)
    outer_eye_color = get_optional('outereyecolor', '#000000', validate_color)
    bg_color = get_optional('bgcolor', '#FFFFFF', validate_color)
    qr_format = get_optional('qrformat', 'PDF', validate_qr_format)

    if validation_errors:
        raise ValidationFailed(validation_errors)

    pdf_filelike = None
    try:
        pdf_filelike = generate_qr_file("%s%s" % (request.url_root,
                                        short),
                                        app=application,
                                        app_size=appsize,
                                        style=style,
                                        style_color=style_color,
                                        inner_eye_style=inner_eye_style,
                                        inner_eye_color=inner_eye_color,
                                        outer_eye_style=outer_eye_style,
                                        outer_eye_color=outer_eye_color,
                                        bg_color=bg_color,
                                        qr_format=qr_format)

        pdf_filelike.seek(0)
    except InnerEyeStyleMissing:
        validation_errors.append({'resource': "url",
                                  'field': 'innereyestyle',
                                  'code': "invalid"})
        raise ValidationFailed(validation_errors)
    except OuterEyeStyleMissing:
        validation_errors.append({'resource': "url",
                                  'field': 'outereyestyle',
                                  'code': "invalid"})
        raise ValidationFailed(validation_errors)
    except StyleMissing:
        validation_errors.append({'resource': "url",
                                  'field': 'style',
                                  'code': "invalid"})
        raise ValidationFailed(validation_errors)
    except Exception, e:
        print e
        abort(500)