M0 scaffold — Python addon + Rust sidecar

Kodi addon (plugin.video.torttube) shell with Cargo workspace for the
rustypipe-backed sidecar binary. No working extraction yet — addon.xml
parses, main.py is a notification stub, sidecar's main.rs prints scaffold
banner. See MILESTONES.md for M1..M6.

License: GPL-3.0-or-later (matches rustypipe + NewPipeExtractor).
This commit is contained in:
Kayos 2026-05-23 08:14:09 -07:00
commit 238dfb8391
11 changed files with 231 additions and 0 deletions

15
sidecar/Cargo.toml Normal file
View file

@ -0,0 +1,15 @@
[workspace]
resolver = "2"
members = ["crates/torttube-sidecar"]
[workspace.package]
version = "0.0.1"
edition = "2021"
license = "GPL-3.0-or-later"
authors = ["Cobb <cobb@sulkta.com>"]
repository = "http://192.168.0.5:3001/Sulkta-Coop/torttube"
[profile.release]
lto = true
codegen-units = 1
strip = true

View file

@ -0,0 +1,14 @@
[package]
name = "torttube-sidecar"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
[[bin]]
name = "torttube-sidecar"
path = "src/main.rs"
[dependencies]
# M1 — rustypipe (codeberg.org/ThetaDev/rustypipe), tokio, serde, serde_json, reqwest

View file

@ -0,0 +1,9 @@
// torttube-sidecar — JSON-over-stdio bridge between Kodi (Python) and YouTube extraction.
// SPDX-License-Identifier: GPL-3.0-or-later
//
// Reads one JSON request per line from stdin, writes one JSON response per line to stdout.
// M0 scaffold — handlers land in M1+ (resolve, sponsorblock, search, channel, playlist).
fn main() {
eprintln!("torttube-sidecar M0 scaffold — see MILESTONES.md");
}