1
0
Fork
You've already forked python-barcode
0

Unwanted behaviour of the no_checksum option for EuropeanArticleNumber13 #43

Open
opened 2019年07月01日 11:11:35 +02:00 by mzonzon · 3 comments
mzonzon commented 2019年07月01日 11:11:35 +02:00 (Migrated from github.com)
Copy link

If the no_checksum option is passed, A 13 digits code should be accepted as it is.
At the moment, the last digit is replaced by a 0 and it cannot be otherwise:

digits = 12
ean = ean[:self.digits]
# Add a thirteen char if given in parameter,
# otherwise pad with zero
self.ean = '{0}{1}'.format( ean, ean[self.digits] if len(ean) > self.digits else 0)

len(ean) > self.digits is never going to happen

If the no_checksum option is passed, A 13 digits code should be accepted as it is. At the moment, the last digit is replaced by a 0 and it cannot be otherwise: ```python digits = 12 ean = ean[:self.digits] # Add a thirteen char if given in parameter, # otherwise pad with zero self.ean = '{0}{1}'.format( ean, ean[self.digits] if len(ean) > self.digits else 0) ``` `len(ean) > self.digits` is never going to happen
AlexP11223 commented 2020年12月03日 18:25:12 +01:00 (Migrated from github.com)
Copy link

Bump.
Looks like it is indeed does not work as intended.

>>> barcode.get('ean13')('1234567891234', no_checksum=True)
<EuropeanArticleNumber13('1234567891230')>

instead of 1234567891234.

Bump. Looks like it is indeed does not work as intended. ``` >>> barcode.get('ean13')('1234567891234', no_checksum=True) <EuropeanArticleNumber13('1234567891230')> ``` instead of `1234567891234`.
WhyNotHugo commented 2020年12月03日 20:52:31 +01:00 (Migrated from github.com)
Copy link

Can you confirm if #98 fixes the issue for you?

If so, I'll add some tests and merge it in. Thanks!

Can you confirm if #98 fixes the issue for you? If so, I'll add some tests and merge it in. Thanks!
AlexP11223 commented 2020年12月03日 21:35:19 +01:00 (Migrated from github.com)
Copy link

I am too lazy to figure out how to build/install it :D

But yeah, looks correct.

Maybe adding some validation for the number of digits would be good.

Fix crash

hm, I did not have any crashes. 🤔
Just wrong last digit output like above.

I am too lazy to figure out how to build/install it :D But yeah, looks correct. Maybe adding some validation for the number of digits would be good. > Fix crash hm, I did not have any crashes. :thinking: Just wrong last digit output like above.
Sign in to join this conversation.
No Branch/Tag specified
main
pre-commit-ci-update-config
extensibility
fix_sizes
feature/longer_guard_bar
ean-without-checksum
readme-formatting
cleaning
cleanup
srolin/master
michieldwitte/left-alignment-fix
v0.13.1
v0.13.0
v0.12.0
v0.11.0
v0.10.0
v0.9.0
v0.8.3
v0.8.2
v0.8.1
v0.8.0
0.8beta1
0.7
0.7beta4
0.7beta3
0.7beta2
v0.6
v0.6b3
v0.6b2
v0.6b1
v0.5.0
v0.5.0b1
v0.4.3
v0.4.2
v0.4.1
v0.4
v0.4b2
v0.4b1
v0.3
v0.3b1
v0.2.1
v0.1
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
WhyNotHugo/python-barcode#43
Reference in a new issue
WhyNotHugo/python-barcode
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?