Skip to content

Commit 1818965

Browse files
committed
Fixed various minor bugs
1 parent 061ef91 commit 1818965

6 files changed

Lines changed: 16 additions & 11 deletions

File tree

codext/__common__.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -473,7 +473,11 @@ def examples(encoding, number=10):
473473
i = 0
474474
while i < min(number, len(temp)):
475475
if not temp[i].isdigit():
476-
e.append(temp[i])
476+
try:
477+
lookup(temp[i])
478+
e.append(temp[i])
479+
except LookupError:
480+
pass
477481
i += 1
478482
for alias, codec in aliases.items():
479483
if name == codec:

codext/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
from .__info__ import __author__, __copyright__, __email__, __license__, __source__, __version__
1111

1212

13-
__all__ = ["add", "add_map", "clear", "decode", "encode", "guess", "lookup", "open", "register", "remove", "reset"]
13+
__all__ = ["add", "add_map", "clear", "decode", "encode", "guess", "lookup", "open", "rank", "register", "remove",
14+
"reset"]
1415

1516
decode = codecs.decode
1617
encode = codecs.encode

codext/base/_base.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ def base(charset, pattern, pow2=False, encode_template=base_encode, decode_templ
122122
the charset)
123123
:param pow2: whether the base codec's N is a power of 2
124124
"""
125-
n = len(_get_charset(charset))
125+
cs = _get_charset(charset)
126+
n = len(cs)
126127
nb = log(n, 2)
127128
if pow2 and nb != int(nb):
128129
raise BaseError("Bad charset ; {} is not a power of 2".format(n))
@@ -142,7 +143,7 @@ def _decode(input, errors="strict"):
142143
return _decode
143144

144145
kwargs['len_charset'] = n
145-
kwargs['printables_rate'] = 1.
146+
kwargs['printables_rate'] = float(len([c for c in cs if c in printable])) / len(cs)
146147
n = "base{}".format(n) if name is None else name
147148
kwargs['guess'] = kwargs.get('guess', [n])
148149
add(n, encode, decode, pattern, entropy=nb, **kwargs)

codext/base/baseN.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,22 @@
1313

1414

1515
B2 = {r'': "01", r'[-_]inv(erted)?': "10"}
16-
base2n(B2, r"^(?:base[-_]?2|bin)(|[-_]inv(?:erted)?|[-_][a-zA-Z0-9]{2})$")
16+
base2n(B2, r"^(?:base[-_]?2|bin)(|[-_]inv(?:erted)?|[-_](?!.*(.).*\2)[a-zA-Z0-9]{2})$")
1717
main2 = main(2)
1818

1919

2020
B3 = {r'': "123", r'[-_]inv(erted)?': "321"}
21-
base(B3, r"^base[-_]?3(|[-_]inv(?:erted)?|[-_][a-zA-Z0-9]{3})$")
21+
base(B3, r"^base[-_]?3(|[-_]inv(?:erted)?|[-_](?!.*(.).*\2)[a-zA-Z0-9]{3})$")
2222
main3 = main(3)
2323

2424

2525
B4 = {r'': "1234", r'[-_]inv(erted)?': "4321"}
26-
base2n(B4, r"^base[-_]?4(|[-_]inv(?:erted)?|[-_][a-zA-Z0-9]{4})$")
26+
base2n(B4, r"^base[-_]?4(|[-_]inv(?:erted)?|[-_](?!.*(.).*\2)[a-zA-Z0-9]{4})$")
2727
main4 = main(4)
2828

2929

3030
B8 = {r'': "abcdefgh", r'[-_]inv(erted)?': "hgfedcba"}
31-
base2n(B8, r"^base[-_]?8(|[-_]inv(?:erted)?|[-_][a-zA-Z0-9]{8})$")
31+
base2n(B8, r"^base[-_]?8(|[-_]inv(?:erted)?|[-_](?!.*(.).*\2)[a-zA-Z0-9]{8})$")
3232
main8 = main(8)
3333

3434

codext/binary/excess3.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,5 @@ def excess3_decode(text, errors="strict"):
6161
return r, len(b(text))
6262

6363

64-
add("excess3", excess3_encode, excess3_decode, pattern=r"^(?:excess\-?3|xs\-?3|stibitz)$", entropy=1.,
65-
printables_rate=.45)
64+
add("excess3", excess3_encode, excess3_decode, pattern=r"^(?:excess\-?3|xs\-?3|stibitz)$", printables_rate=.45)
6665

codext/binary/rotate.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,5 @@ def decode(text, errors="strict"):
4747
return decode
4848

4949

50-
add("rotate", rotate_encode, rotate_decode, r"rotate(?:[-_]?bits)?[-_]?((?:(?:left|right)[-_]?)?[1-7])$", entropy=1.)
50+
add("rotate", rotate_encode, rotate_decode, r"rotate(?:[-_]?bits)?[-_]?((?:(?:left|right)[-_]?)?[1-7])$")
5151

0 commit comments

Comments
 (0)