nu_plugin_from_bencode

Crates.ionu_plugin_from_bencode
lib.rsnu_plugin_from_bencode
version0.11.0
sourcesrc
created_at2022-05-04 02:36:34.678053
updated_at2024-05-11 01:16:28.874084
descriptionA Nushell plugin to convert bencode data into Nu structured values.
homepage
repositoryhttps://github.com/bluk/nu_plugin_from_bencode
max_upload_size
id580152
size79,004
Bryant Luk (bluk)

documentation

https://docs.rs/nu_plugin_from_bencode/

README

Nu Plugin From Bencode

A converter plugin from the bencode format for Nushell.

The plugin was last tested on nushell version 0.93.0.

The plugin is unstable as the interface Nu for plugins is unstable.

The plugin could be useful for inspecting a BitTorrent metainfo file (*.torrent), but it is primarily used to explore writing a Nu plugin.

Installation

cargo install nu_plugin_from_bencode

Register the plugin:

register <path to plugin>/nu_plugin_from_bencode

By default, cargo installs to $HOME/.cargo/bin on Unix systems.

Usage

The from bencode command is provided with no parameter arguments.

To use:

> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode
╭───────────────┬─────────────────────────────────────╮
│ announce      │ https://torrent.ubuntu.com/announce │
│ announce-list │ [list 2 items]                      │
│ comment       │ Ubuntu CD releases.ubuntu.com       │
│ created by    │ mktorrent 1.1                       │
│ creation date │ 1645734525                          │
│ info          │ {record 4 fields}                   │
╰───────────────┴─────────────────────────────────────╯
> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode | select announce-list.0.0
╭───────────────────┬─────────────────────────────────────╮
│ announce-list.0.0 │ https://torrent.ubuntu.com/announce │
╰───────────────────┴─────────────────────────────────────╯
> open ubuntu-20.04.4-live-server-amd64.iso.torrent | from bencode | get announce-list.1.0
https://ipv6.torrent.ubuntu.com/announce
> open ubuntu-20.04.1-live-server-amd64.iso.torrent | from bencode | select info.name info.length
╭─────────────┬──────────────────────────────────────╮
│ info.name   │ ubuntu-20.04.4-live-server-amd64.iso │
│ info.length │ 1331691520                           │
╰─────────────┴──────────────────────────────────────╯

License

Licensed under either of Apache License, Version 2.0 or MIT License at your option.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 38

cargo fmt