Skip to content

Commit 37e2d1b

Browse files
committed
Code cleaning
1 parent f5431f7 commit 37e2d1b

File tree

3 files changed

+38
-12
lines changed

3 files changed

+38
-12
lines changed

cdlclient/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,3 @@
2020
__version__ = "0.5.0"
2121
__docurl__ = "https://cdlclient.readthedocs.io/en/latest/"
2222
__homeurl__ = "https://github.com/Codra-Ingenierie-Informatique/DataLabSimpleClient/"
23-
__supporturl__ = "https://github.com/Codra-Ingenierie-Informatique/DataLabSimpleClient/issues/new/choose"
Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,31 +16,54 @@
1616
WIDGETS_PATH = osp.join(PKG_PATH, "cdlclient", "widgets")
1717

1818

19-
def convert_png_to_code(filename: str) -> bytes:
20-
"""Convert PNG image to Python code, so that it can be bundled with the
21-
application, without having to load the image from disk."""
19+
def imagefile_to_base64(filename: str) -> bytes:
20+
"""Convert image file to Base64-encoded bytes
21+
22+
Args:
23+
filename: image filename
24+
25+
Returns:
26+
Base64-encoded bytes
27+
"""
2228
image = QG.QImage(filename)
2329
data = QC.QByteArray()
2430
buf = QC.QBuffer(data)
2531
image.save(buf, "PNG")
2632
return data.toBase64().data()
2733

2834

29-
def test_conv(filename: str, destmod: str) -> str:
30-
"""Test image to code conversion"""
35+
def imagefile_to_python_module(filename: str, destmod: str) -> None:
36+
"""Convert image file to Python module
37+
38+
Args:
39+
filename: image filename
40+
destmod: destination module name
41+
"""
42+
data = imagefile_to_base64(filename)
43+
destmod_path = osp.join(WIDGETS_PATH, destmod + ".py")
44+
with open(destmod_path, "wb") as fn:
45+
fn.write("# -*- coding: utf-8 -*-\n\n".encode("utf-8"))
46+
fn.write("# pylint: skip-file\n\n".encode("utf-8"))
47+
fn.write("DATA = b'".encode("utf-8"))
48+
fn.write(data)
49+
fn.write("'".encode("utf-8"))
50+
51+
52+
def test_conv(filename: str, destmod: str) -> None:
53+
"""Test image to code conversion
54+
55+
Args:
56+
filename: image filename
57+
destmod: destination module name
58+
"""
3159
with qt_app_context(exec_loop=True):
3260
widget = QW.QWidget()
3361
vlayout = QW.QVBoxLayout()
3462
widget.setLayout(vlayout)
3563
label1 = QW.QLabel()
3664
label1.setPixmap(QG.QPixmap(filename))
3765
label2 = QW.QLabel()
38-
data = convert_png_to_code(filename)
39-
destmod_path = osp.join(WIDGETS_PATH, destmod + ".py")
40-
with open(destmod_path, "wb") as fn:
41-
fn.write("DATA = b'".encode("utf-8"))
42-
fn.write(data)
43-
fn.write("'".encode("utf-8"))
66+
imagefile_to_python_module(filename, destmod)
4467
mod = __import__("cdlclient.widgets." + destmod, fromlist=[destmod])
4568
pixmap = QG.QPixmap()
4669
pixmap.loadFromData(QC.QByteArray.fromBase64(mod.DATA))
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1+
# -*- coding: utf-8 -*-
2+
3+
# pylint: skip-file
4+
15
DATA = b'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'

0 commit comments

Comments
 (0)