dvcleanqr 0.1.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
clean_qr/__init__.py ADDED
@@ -0,0 +1,2 @@
1
+ from .generator import generate_clean_qr
2
+ __all__ = ["generate_clean_qr"]
clean_qr/generator.py ADDED
@@ -0,0 +1,51 @@
1
+ import os
2
+ import qrcode
3
+ from PIL import Image
4
+
5
+
6
+ def get_downloads_path():
7
+ return os.path.join(os.path.expanduser("~"), "Downloads")
8
+
9
+
10
+ def hex_to_rgb(hex_color):
11
+ hex_color = hex_color.lstrip("#")
12
+ return tuple(int(hex_color[i:i + 2], 16) for i in (0, 2, 4))
13
+
14
+
15
+ def generate_clean_qr(
16
+ data,
17
+ qr_color="#000000",
18
+ bg_color="#FFFFFF",
19
+ output_file="qr.png"
20
+ ):
21
+ qr = qrcode.QRCode(
22
+ error_correction=qrcode.constants.ERROR_CORRECT_H,
23
+ box_size=12,
24
+ border=4
25
+ )
26
+
27
+ qr.add_data(data)
28
+ qr.make(fit=True)
29
+
30
+ matrix = qr.get_matrix()
31
+ size = len(matrix)
32
+ module = 12
33
+ img_size = size * module
34
+
35
+ img = Image.new("RGBA", (img_size, img_size), hex_to_rgb(bg_color))
36
+
37
+ for y in range(size):
38
+ for x in range(size):
39
+ if matrix[y][x]:
40
+ px = x * module
41
+ py = y * module
42
+ block = Image.new("RGBA", (module, module), hex_to_rgb(qr_color))
43
+ img.paste(block, (px, py))
44
+
45
+ if not output_file.lower().endswith(".png"):
46
+ output_file += ".png"
47
+
48
+ path = os.path.join(get_downloads_path(), output_file)
49
+ img.save(path, optimize=True)
50
+
51
+ return path
@@ -0,0 +1,18 @@
1
+ Metadata-Version: 2.4
2
+ Name: dvcleanqr
3
+ Version: 0.1.1
4
+ Summary: Clean, Google-style QR code generator
5
+ Author: DV Shah
6
+ License: MIT
7
+ Requires-Python: >=3.8
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: qrcode[pil]
10
+ Requires-Dist: Pillow
11
+
12
+ # dvcleanqr
13
+
14
+ Clean, Google-style QR code generator.
15
+
16
+ ## Installation
17
+ ```bash
18
+ pip install dvcleanqr
@@ -0,0 +1,6 @@
1
+ clean_qr/__init__.py,sha256=AOBZCE7EKu7-htPGDGR5KmqEPVRdSJUQ6Ba57ejbQig,75
2
+ clean_qr/generator.py,sha256=EYbUb6xRrs3tv-y37WygdIc6j7AR4VwEkINEYFGGXnk,1255
3
+ dvcleanqr-0.1.1.dist-info/METADATA,sha256=xy8Y1AM7Mx67Wg9M6i89ONhpGx1RzXG7ZqvpA1chi9k,359
4
+ dvcleanqr-0.1.1.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
5
+ dvcleanqr-0.1.1.dist-info/top_level.txt,sha256=zkyFxAbFGWILw4d4p0rtKdEI9xQ-R8ouC_-DftEeVPg,9
6
+ dvcleanqr-0.1.1.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ clean_qr