codext 1.15.2__tar.gz → 1.15.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codext-1.15.2 → codext-1.15.4}/.github/workflows/python-package.yml +2 -2
- {codext-1.15.2 → codext-1.15.4}/PKG-INFO +2 -1
- {codext-1.15.2 → codext-1.15.4}/docs/coverage.svg +1 -1
- {codext-1.15.2 → codext-1.15.4}/pyproject.toml +1 -0
- codext-1.15.4/requirements.txt +1 -0
- codext-1.15.4/src/codext/VERSION.txt +1 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/_base.py +5 -1
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/PKG-INFO +2 -1
- {codext-1.15.2 → codext-1.15.4}/tests/test_base.py +0 -7
- codext-1.15.2/requirements.txt +0 -1
- codext-1.15.2/src/codext/VERSION.txt +0 -1
- {codext-1.15.2 → codext-1.15.4}/.coveragerc +0 -0
- {codext-1.15.2 → codext-1.15.4}/.github/workflows/pypi-publish.yml +0 -0
- {codext-1.15.2 → codext-1.15.4}/.gitignore +0 -0
- {codext-1.15.2 → codext-1.15.4}/.readthedocs.yml +0 -0
- {codext-1.15.2 → codext-1.15.4}/LICENSE +0 -0
- {codext-1.15.2 → codext-1.15.4}/README.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/mkdocs.yml +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/cli.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/css/extra.css +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/demos/using-bases.gif +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/demos/using-codext.gif +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/demos/using-debase.gif +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/base.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/binary.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/common.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/compressions.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/crypto.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/hashing.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/languages.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/others.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/stegano.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/enc/web.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/features.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/guessing.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/howto.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/img/banner.png +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/img/icon.png +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/img/logo.png +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/index.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/pages/manipulations.md +0 -0
- {codext-1.15.2 → codext-1.15.4}/docs/requirements.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/pytest.ini +0 -0
- {codext-1.15.2 → codext-1.15.4}/setup.cfg +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/__common__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/__info__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/_base2n.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/base100.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/base122.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/base45.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/base85.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/base91.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/base/baseN.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/baudot.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/bcd.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/excess3.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/gray.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/manchester.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/binary/rotate.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/a1z26.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/cases.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/dummy.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/octal.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/common/ordinal.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/compressions/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/compressions/gzipp.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/compressions/lz77.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/compressions/lz78.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/compressions/pkzip.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/affine.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/atbash.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/bacon.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/barbie.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/citrix.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/railfence.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/rot.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/scytale.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/shift.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/crypto/xor.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/blake.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/checksums.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/crypt.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/md.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/sha.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/hashing/shake.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/braille.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/galactic.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/ipsum.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/leetspeak.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/morse.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/navajo.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/radio.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/southpark.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/tap.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/languages/tomtom.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/macros.json +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/dna.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/kbshift.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/letters.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/markdown.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/others/uuencode.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/hexagram.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/klopf.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/resistor.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/rick.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/sms.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/stegano/whitespace.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/web/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/web/html.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext/web/url.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/SOURCES.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/dependency_links.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/entry_points.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/requires.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/src/codext.egg-info/top_level.txt +0 -0
- {codext-1.15.2 → codext-1.15.4}/tests/__init__.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/tests/test_common.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/tests/test_generated.py +0 -0
- {codext-1.15.2 → codext-1.15.4}/tests/test_manual.py +0 -0
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
fail-fast: false
|
|
20
20
|
matrix:
|
|
21
21
|
os: [ubuntu-latest]
|
|
22
|
-
python-version: ["3.8", "3.9", "3.10", "3.11"]
|
|
22
|
+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
|
23
23
|
steps:
|
|
24
24
|
- uses: actions/checkout@v3
|
|
25
25
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -60,7 +60,7 @@ jobs:
|
|
|
60
60
|
pytest --cov=$package --cov-report=xml
|
|
61
61
|
genbadge coverage -i coverage.xml -o $cov_badge_path
|
|
62
62
|
- name: Verify Changed files
|
|
63
|
-
uses: tj-actions/verify-changed-files@
|
|
63
|
+
uses: tj-actions/verify-changed-files@v17
|
|
64
64
|
id: changed_files
|
|
65
65
|
with:
|
|
66
66
|
files: ${{ env.cov_badge_path }}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: codext
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.4
|
|
4
4
|
Summary: Native codecs extension
|
|
5
5
|
Author-email: Alexandre D'Hondt <alexandre.dhondt@gmail.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -692,6 +692,7 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
692
692
|
Classifier: Programming Language :: Python :: 3.9
|
|
693
693
|
Classifier: Programming Language :: Python :: 3.10
|
|
694
694
|
Classifier: Programming Language :: Python :: 3.11
|
|
695
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
695
696
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
696
697
|
Requires-Python: <4,>=3.8
|
|
697
698
|
Description-Content-Type: text/markdown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="114" height="20" role="img" aria-label="coverage: 99.
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="114" height="20" role="img" aria-label="coverage: 99.04%"><title>coverage: 99.04%</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="114" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="61" height="20" fill="#555"/><rect x="61" width="53" height="20" fill="#4c1"/><rect width="114" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="315" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="510">coverage</text><text x="315" y="140" transform="scale(.1)" fill="#fff" textLength="510">coverage</text><text aria-hidden="true" x="865" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">99.04%</text><text x="865" y="140" transform="scale(.1)" fill="#fff" textLength="430">99.04%</text></g></svg>
|
|
@@ -27,6 +27,7 @@ classifiers = [
|
|
|
27
27
|
"Programming Language :: Python :: 3.9",
|
|
28
28
|
"Programming Language :: Python :: 3.10",
|
|
29
29
|
"Programming Language :: Python :: 3.11",
|
|
30
|
+
"Programming Language :: Python :: 3.12",
|
|
30
31
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
31
32
|
]
|
|
32
33
|
dependencies = [
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
markdown2>=2.4.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.15.4
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
from argparse import ArgumentParser, RawTextHelpFormatter
|
|
6
6
|
from math import log
|
|
7
7
|
from string import ascii_lowercase as lower, ascii_uppercase as upper, digits, printable
|
|
8
|
+
from sys import stdout
|
|
8
9
|
from textwrap import wrap as wraptext
|
|
9
10
|
from types import FunctionType, MethodType
|
|
10
11
|
|
|
@@ -280,8 +281,11 @@ Full documentation at: <https://python-codext.readthedocs.io/en/latest/enc/base.
|
|
|
280
281
|
except Exception as err:
|
|
281
282
|
print("%sbase%s: invalid input" % (getattr(err, "output", ""), base))
|
|
282
283
|
return 1
|
|
284
|
+
if args.decode:
|
|
285
|
+
stdout.buffer.write(c)
|
|
286
|
+
return 0
|
|
283
287
|
c = ensure_str(c)
|
|
284
|
-
if swap and args.swapcase
|
|
288
|
+
if swap and args.swapcase:
|
|
285
289
|
c = codecs.encode(c, "swapcase")
|
|
286
290
|
for l in (wraptext(c, args.wrap) if args.wrap > 0 else [c]) if wrap else c.split("\n"):
|
|
287
291
|
print(l)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: codext
|
|
3
|
-
Version: 1.15.
|
|
3
|
+
Version: 1.15.4
|
|
4
4
|
Summary: Native codecs extension
|
|
5
5
|
Author-email: Alexandre D'Hondt <alexandre.dhondt@gmail.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -692,6 +692,7 @@ Classifier: Programming Language :: Python :: 3.8
|
|
|
692
692
|
Classifier: Programming Language :: Python :: 3.9
|
|
693
693
|
Classifier: Programming Language :: Python :: 3.10
|
|
694
694
|
Classifier: Programming Language :: Python :: 3.11
|
|
695
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
695
696
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
696
697
|
Requires-Python: <4,>=3.8
|
|
697
698
|
Description-Content-Type: text/markdown
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
"""Base codecs tests.
|
|
4
4
|
|
|
5
5
|
"""
|
|
6
|
-
import base64
|
|
7
6
|
import sys
|
|
8
7
|
from unittest import TestCase
|
|
9
8
|
|
|
@@ -187,12 +186,6 @@ class TestCodecsBase(TestCase):
|
|
|
187
186
|
self.assertEqual(codecs.encode(b(STR), enc), b(b64))
|
|
188
187
|
self.assertEqual(codecs.decode(b64, enc), STR)
|
|
189
188
|
self.assertEqual(codecs.decode(b(b64), enc), b(STR))
|
|
190
|
-
# source: https://github.com/dhondta/python-codext/issues/8
|
|
191
|
-
enc = "JVBERi0xLjQKMSAwIG9iago8PAovVGl0bGUgKP7/KQovQ3JlYXRvciAo/v8AdwBrAGgAdABt"
|
|
192
|
-
dec = b"%PDF-1.4\n1 0 obj\n<<\n/Title (\xfe\xff)\n/Creator (\xfe\xff\x00w\x00k\x00h\x00t\x00m"
|
|
193
|
-
self.assertEqual(codecs.decode(b(enc), "base64"), dec)
|
|
194
|
-
self.assertEqual(base64.b64decode(b(enc)), dec)
|
|
195
|
-
|
|
196
189
|
|
|
197
190
|
def test_codec_base91(self):
|
|
198
191
|
for b91, enc in zip([",X,<:WRT%yxth90oZB", ",N,<:MHJ%onjXzqeP1", "Jx&[jv4S3Wg>,71@Jk", "yJy^\\IDFsdc?Tof:L#"],
|
codext-1.15.2/requirements.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
six
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.15.2
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|