Python bindings for the nod library.
Project description
py-nod
Python 3.8 bindings for the NOD, a library for traversing, dumping, and authoring GameCube and Wii optical disc images.
Usage
Unpacking
import nod
def progress_callback(path, progress):
if args.verbose:
print("Extraction {:.0%} Complete; Current node: {}".format(progress, path))
context = nod.ExtractionContext()
context.set_progress_callback(progress_callback)
try:
disc, is_wii = nod.open_disc_from_image("game.iso")
data_partition = disc.get_data_partition()
if not data_partition:
raise RuntimeError("Could not find a data partition in the disc.")
data_partition.extract_to_directory("dir_out", context)
except RuntimeError as e:
raise Exception("Could not extract disc at 'game.iso' to 'dir_out': {}".format(e))
Packing
import nod
if nod.DiscBuilderGCN.calculate_total_size_required("dir_out") is None:
raise Exception("Image built with given directory would pass the maximum size.")
def fprogress_callback(progress: float, name: str, bytes: int):
print("\r" + " " * 100, end="")
print("\r{:.0%} {} {} B".format(progress, name, bytes), flush=True)
disc_builder = nod.DiscBuilderGCN("game.iso", fprogress_callback)
try:
disc_builder.build_from_directory("dir_out")
except RuntimeError as e:
raise Exception("Failure building the image: {}".format(e))
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nod-1.9.2.tar.gz
(1.0 MB
view hashes)
Built Distributions
nod-1.9.2-cp39-cp39-win_amd64.whl
(11.7 MB
view hashes)
nod-1.9.2-cp38-cp38-win_amd64.whl
(11.7 MB
view hashes)
Close
Hashes for nod-1.9.2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e8ed8e94720a35bf147a27b2d8904b054daa23cc53c7b02a19921cba36e672f |
|
MD5 | 11872a33fb5faf43edb40736bc6aab43 |
|
BLAKE2b-256 | 5953812845be828b070bb090254aa3fd0cbf5c403e1d4d282f4bb38c3d9a3291 |
Close
Hashes for nod-1.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c491caadf31943a6c6079c78b47812c3330dac156d5e8c6f80f2777cc5836ee1 |
|
MD5 | 90740456b0ae185ff7454403d23e6d65 |
|
BLAKE2b-256 | f430d0fcaceaeff6eb93ac22bb2f51b3949b4fa4a6fc3b529a2c55d8786e9337 |
Close
Hashes for nod-1.9.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7e07c348f60f1ae77d54a88d177b7bb98b17d8df5b72e6ca9ec99ce424a931e |
|
MD5 | 6583a44a723f19af4a95efa35b7bdfd6 |
|
BLAKE2b-256 | 009d1ab41c1337ea249e4821d822dc30da8f10b35cc5bf9a3ee9dc9b5c54eb03 |
Close
Hashes for nod-1.9.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d26190432bbe099b893fb026a45be60813336454f993a0e57a3b8c5316c8757f |
|
MD5 | a10587ae1466b9e6d9d9e47033e1f4cf |
|
BLAKE2b-256 | b2608c4e8f564283861a1e9ab9d500e87b66e9f371ff23b64d6ff229c9cbe40b |
Close
Hashes for nod-1.9.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0456985c6121f0a0bc691708a3e6222694f34c7c54e6e43bb7ad5b2b8b588912 |
|
MD5 | 39456f295d1eaa5b0c8eab77e8c6d2bd |
|
BLAKE2b-256 | d9a41794dae56c06ceb5bad214dbbf449bcf70a7ccac12f26fda3af26b84aeaf |
Close
Hashes for nod-1.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50ce31320992eb188e8db5f295abbe64782237c26f6d071adf2d0803e560ae95 |
|
MD5 | 41fdeb21f090caa3f8b928c269702519 |
|
BLAKE2b-256 | c3f305ef696bf02c0a68cc613532cb66f913cf549dc6d0b271b30cc0f30a2a83 |
Close
Hashes for nod-1.9.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0710a345daa7d1c5d12e4d32732f5284b52672a9de22e55ebde8f95f2ddfbe96 |
|
MD5 | eadba0dcc67b6e67b071c06c8ff8dd37 |
|
BLAKE2b-256 | 1c96031897dbc25b15393f14fb2f71cbc7da0fc7db6a60b5e12841d89f8b1e47 |
Close
Hashes for nod-1.9.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9183d727437582dc675206b0dd0503a9e3e9c53729503d8585868fbd52cb21a2 |
|
MD5 | 82909f6cb12d3ab4fcf58f7aebcb4cf5 |
|
BLAKE2b-256 | 981a591ce3bf543dba12e47906677f9302e30b79f1248e0226d7aa4ae240facc |
Close
Hashes for nod-1.9.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf2f554d39210f552c694ea933905667c4858d23196049e71439cfb154bd0432 |
|
MD5 | c9cd1e8ba908747c339c61872da1c6c9 |
|
BLAKE2b-256 | c7608f2c88ca296bbd470a2cdf929266d745050bea3f27534a094f8ab807441e |
Close
Hashes for nod-1.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 665e316910f68ddadfb52d0929c670569cf08dedbad3cb0016a6c0b010c4708a |
|
MD5 | 31f277b0e430ba0b983d09e921efd497 |
|
BLAKE2b-256 | deb274746784c0915d483164a2464a12a0cdaf506ff600e4e72760d34c354c5d |
Close
Hashes for nod-1.9.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e60454649fcb03c67dc0abc1433298b2513f1dc8fb93ee723b3fd92f77513b9a |
|
MD5 | b4dd224b1ac42a46161310933d6b1a98 |
|
BLAKE2b-256 | ba9585fb2ea987bbd55798ba59a8acee6547102e5e0e6e5627815c3601ed6f3f |
Close
Hashes for nod-1.9.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 551d7f2061015adc30358fceb3750d9080855c4d34a69a32ecbe9e4d9b69beb4 |
|
MD5 | a2e49aec5448cf226b0af1252f4d1e77 |
|
BLAKE2b-256 | 1a6ae2ee7f6302a630acfd1a97ac88054fe42b290692b17ac60703f121250b4a |
Close
Hashes for nod-1.9.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad5b49e6a76baa99b18c3f654147381fe47ee6e1decc6a4e28b21bba5f288c75 |
|
MD5 | 341df41d145f6529aeca008124ded463 |
|
BLAKE2b-256 | 59dea1eeed0f5a7a98dc3a001703f64e50160a1ce865cbd41a5b0f18a60a1090 |
Close
Hashes for nod-1.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e35c9cb4bf89c7bb7e9b25cc7364674192b99b832ea55c95ce4086593ab29fe2 |
|
MD5 | 39b0beb2ea9a573377e9e1612a4185a7 |
|
BLAKE2b-256 | fbf560e154c96944c3b73e08a46e61473ab6c1b9cc47dac833db65c0909ec489 |
Close
Hashes for nod-1.9.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b6c5eecfc12f334d5345d6fb932c2c6b50fa62b7a48cb112355feffda21c93d |
|
MD5 | 964a4aace741fb3f4b43d3a9b51beb96 |
|
BLAKE2b-256 | 82410a563dbc14d8935235950d446ccaa887f305d7743eefc84d86b2733a36a0 |
Close
Hashes for nod-1.9.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ec6e77aee6676bc87d079d69f7d6c904990796f69aaf19dcaa15aa59289992c |
|
MD5 | 9e98e4861bbc1d38e7bd8a45e7a202c6 |
|
BLAKE2b-256 | aa69a4d36b4403a2b6741243e5bd0b2867ceaf6385eedcaaf1fd005ca7f54d60 |
Close
Hashes for nod-1.9.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b334276f43d14dd27cc4e903cade9e3a1ed4e6f61fc5948054ca48217b662e53 |
|
MD5 | 879c59333ecc8c3e82f3f134f4420827 |
|
BLAKE2b-256 | 53e4feb9ed6146ab37e7436b3cef025b00d5592190b6a24216646c468702c872 |
Close
Hashes for nod-1.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73885d1e0fcba561108d30dae6dfebf6b827e8b6d75a9c3d67bdec281faa99ca |
|
MD5 | dbe467556c8668054f98a6bcedc02cff |
|
BLAKE2b-256 | 6d91ec3e1090e2d8f0bc69c44aac35abdc38c1c1cce7bee1db7084e5feba6946 |
Close
Hashes for nod-1.9.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee8d7e35b2ce8f977185f99f95d26f8385ccad79e32f4adae0c170500e7520dc |
|
MD5 | 24f2630ec1c5b23d1674c1455419699e |
|
BLAKE2b-256 | 04c52bfa79734cf3f8dfea74ff996b6f2d70af074dc2750ce200bcb252bab5ec |
Close
Hashes for nod-1.9.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a2731ab2c585b21b62304907a54cc522c02cc34c34fa92da658de599d301ed4 |
|
MD5 | 6e9b6f5c84ff081d1285d943771ded00 |
|
BLAKE2b-256 | 0307ba8e9f9dfd891f9f974b0992bde02a89acdc00873cb61d7b1927eeb152e7 |