Skip to content

Commit ca02e4d

Browse files
committed
feat: DataTooLongErrorを投げる
1 parent e16cd08 commit ca02e4d

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/make_qr.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from enums.color import Color
22
from enums.error_collection_level import ErrorCollectionLevel
33
from rmqr.rmqr import rMQR
4+
from rmqr.rmqr import DataTooLongError
45
from rmqr.data_capacities import data_capacities
56
from encoder.byte_encoder import ByteEncoder
67
from qr_image import QRImage
@@ -17,6 +18,9 @@ def select_version(data, error_collection_level):
1718
})
1819
print(f"ok: {qr_version}")
1920

21+
if len(ok_versions) == 0:
22+
raise DataTooLongError("The data is too long.")
23+
2024
# とりあえず容量のあまりが最も少なくなるものを選ぶ
2125
# TODO: 選び方をパラメータで変えられるようにしたい
2226
selected = sorted(ok_versions, key=lambda x: x['diff'])[0]
@@ -30,7 +34,7 @@ def make_qr(data, version, error_collection_level):
3034

3135

3236
def main():
33-
data = "123漢字ABC"
37+
data = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. orem ipsum dolor sit amet, consectetur adipi"
3438
error_collection_level = ErrorCollectionLevel.M
3539
version = select_version(data, error_collection_level)
3640
print(f"selected: {version}")

src/rmqr/rmqr.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,4 +332,8 @@ def _apply_mask(self, mask_area):
332332
self._qr[y][x] = Color.WHITE
333333
elif self._qr[y][x] == Color.WHITE:
334334
self._qr[y][x] = Color.BLACK
335-
# qr[y][x] = 'B' if mask(x, y) else 'W'
335+
# qr[y][x] = 'B' if mask(x, y) else 'W'
336+
337+
338+
class DataTooLongError(ValueError):
339+
pass

0 commit comments

Comments
 (0)