Skip to content

Commit 48f05c3

Browse files
authored
Merge pull request #41 from OUDON/refactor/change-qr-version-to-instance-variable
refactor: Change `qr_version` to instance variable of the `rMQR` class
2 parents a01a24c + 4b356ab commit 48f05c3

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

src/rmqrcode/rmqrcode.py

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,10 @@ def __init__(self, version, ecc, with_quiet_zone=True, logger=None):
145145
if not rMQR.validate_version(version):
146146
raise IllegalVersionError("The rMQR version is illegal.")
147147

148-
qr_version = rMQRVersions[version]
149-
self._version = version
150-
self._height = qr_version["height"]
151-
self._width = qr_version["width"]
148+
self._version_name = version
149+
self._qr_version = rMQRVersions[version]
150+
self._height = self._qr_version["height"]
151+
self._width = self._qr_version["width"]
152152
self._error_correction_level = ecc
153153
self._qr = [[Color.UNDEFINED for x in range(self._width)] for y in range(self._height)]
154154
self._segments = []
@@ -220,12 +220,13 @@ def _encode_data(self):
220220
str: The encoded data.
221221
222222
"""
223-
qr_version = rMQRVersions[self.version_name()]
224-
data_bits_max = qr_version["number_of_data_bits"][self._error_correction_level]
223+
data_bits_max = self._qr_version["number_of_data_bits"][self._error_correction_level]
225224

226225
res = ""
227226
for segment in self._segments:
228-
character_count_indicator_length = qr_version["character_count_indicator_length"][segment["encoder_class"]]
227+
character_count_indicator_length = self._qr_version["character_count_indicator_length"][
228+
segment["encoder_class"]
229+
]
229230
res += segment["encoder_class"].encode(segment["data"], character_count_indicator_length)
230231
res = self._append_terminator_if_possible(res, data_bits_max)
231232

@@ -532,8 +533,7 @@ def _put_version_information_finder_sub_pattern_side(self, version_information):
532533

533534
def _compute_version_info(self):
534535
"""Computes version information with BCH code."""
535-
qr_version = rMQRVersions[self.version_name()]
536-
version_information_data = qr_version["version_indicator"]
536+
version_information_data = self._qr_version["version_indicator"]
537537
if self._error_correction_level == ErrorCorrectionLevel.H:
538538
version_information_data |= 1 << 6
539539
reminder_polynomial = compute_bch(version_information_data)
@@ -556,13 +556,12 @@ def _put_data(self, encoded_data):
556556
list: A two-dimensional list shows where encoding region.
557557
558558
"""
559-
qr_version = rMQRVersions[self.version_name()]
560-
codewords_num = qr_version["codewords_total"]
559+
codewords_num = self._qr_version["codewords_total"]
561560

562561
codewords = self._make_codewords(encoded_data, codewords_num)
563-
blocks = self._split_into_blocks(codewords, qr_version["blocks"][self._error_correction_level])
562+
blocks = self._split_into_blocks(codewords, self._qr_version["blocks"][self._error_correction_level])
564563
final_codewords = self._make_final_codewords(blocks)
565-
mask = self._put_final_codewords(final_codewords, qr_version["remainder_bits"])
564+
mask = self._put_final_codewords(final_codewords, self._qr_version["remainder_bits"])
566565
return mask
567566

568567
def _make_codewords(self, encoded_data, codewords_num):

0 commit comments

Comments
 (0)