first commit

This commit is contained in:
crunk 2024-04-02 15:28:57 +02:00
parent 6a2f396c48
commit b77bd2580c
5 changed files with 339 additions and 0 deletions

196
Cargo.lock generated Normal file
View File

@ -0,0 +1,196 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "ahash"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
dependencies = [
"cfg-if",
"once_cell",
"version_check",
"zerocopy",
]
[[package]]
name = "allocator-api2"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5"
[[package]]
name = "bitflags"
version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
[[package]]
name = "cc"
version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [
"libc",
]
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "fallible-iterator"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649"
[[package]]
name = "fallible-streaming-iterator"
version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a"
[[package]]
name = "hashbrown"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156"
dependencies = [
"ahash",
"allocator-api2",
]
[[package]]
name = "hashlink"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7"
dependencies = [
"hashbrown",
]
[[package]]
name = "icarus"
version = "0.1.0"
dependencies = [
"rusqlite",
]
[[package]]
name = "libc"
version = "0.2.150"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
[[package]]
name = "libsqlite3-sys"
version = "0.27.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
dependencies = [
"cc",
"pkg-config",
"vcpkg",
]
[[package]]
name = "once_cell"
version = "1.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "pkg-config"
version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
[[package]]
name = "proc-macro2"
version = "1.0.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rusqlite"
version = "0.30.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d"
dependencies = [
"bitflags",
"fallible-iterator",
"fallible-streaming-iterator",
"hashlink",
"libsqlite3-sys",
"smallvec",
]
[[package]]
name = "smallvec"
version = "1.11.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
[[package]]
name = "syn"
version = "2.0.39"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]]
name = "vcpkg"
version = "0.2.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "zerocopy"
version = "0.7.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.7.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f"
dependencies = [
"proc-macro2",
"quote",
"syn",
]

10
Cargo.toml Normal file
View File

@ -0,0 +1,10 @@
[package]
name = "icarus"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rusqlite = { version = "0.30.0", features = ["bundled"] }
diesel = { version = "2.1.0", features = ["sqlite"] }

2
diesel.toml Normal file
View File

@ -0,0 +1,2 @@
[print_schema]
filter = { only_tables = ["library", "track_locations"] }

3
src/main.rs Normal file
View File

@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}

128
src/schema.rs Normal file
View File

@ -0,0 +1,128 @@
// @generated automatically by Diesel CLI.
diesel::table! {
itunes_library (id) {
id -> Nullable<Integer>,
artist -> Nullable<Text>,
title -> Nullable<Text>,
album -> Nullable<Text>,
year -> Nullable<Text>,
genre -> Nullable<Text>,
tracknumber -> Nullable<Text>,
location -> Nullable<Text>,
comment -> Nullable<Text>,
duration -> Nullable<Integer>,
bitrate -> Nullable<Integer>,
bpm -> Nullable<Integer>,
rating -> Nullable<Integer>,
grouping -> Nullable<Text>,
album_artist -> Nullable<Text>,
}
}
diesel::table! {
library (id) {
id -> Nullable<Integer>,
artist -> Nullable<Text>,
title -> Nullable<Text>,
album -> Nullable<Text>,
year -> Nullable<Text>,
genre -> Nullable<Text>,
tracknumber -> Nullable<Text>,
location -> Nullable<Integer>,
comment -> Nullable<Text>,
url -> Nullable<Text>,
duration -> Nullable<Float>,
bitrate -> Nullable<Integer>,
samplerate -> Nullable<Integer>,
cuepoint -> Nullable<Integer>,
bpm -> Nullable<Float>,
wavesummaryhex -> Nullable<Binary>,
channels -> Nullable<Integer>,
datetime_added -> Nullable<Binary>,
mixxx_deleted -> Nullable<Integer>,
played -> Nullable<Integer>,
header_parsed -> Nullable<Integer>,
filetype -> Nullable<Text>,
replaygain -> Nullable<Float>,
timesplayed -> Nullable<Integer>,
rating -> Nullable<Integer>,
key -> Nullable<Text>,
beats -> Nullable<Binary>,
beats_version -> Nullable<Text>,
composer -> Nullable<Text>,
bpm_lock -> Nullable<Integer>,
beats_sub_version -> Nullable<Text>,
keys -> Nullable<Binary>,
keys_version -> Nullable<Text>,
keys_sub_version -> Nullable<Text>,
key_id -> Nullable<Integer>,
grouping -> Nullable<Text>,
album_artist -> Nullable<Text>,
coverart_source -> Nullable<Integer>,
coverart_type -> Nullable<Integer>,
coverart_location -> Nullable<Text>,
coverart_hash -> Nullable<Integer>,
replaygain_peak -> Nullable<Float>,
tracktotal -> Nullable<Text>,
color -> Nullable<Integer>,
}
}
diesel::table! {
rhythmbox_library (id) {
id -> Nullable<Integer>,
artist -> Nullable<Text>,
title -> Nullable<Text>,
album -> Nullable<Text>,
year -> Nullable<Text>,
genre -> Nullable<Text>,
tracknumber -> Nullable<Text>,
location -> Nullable<Text>,
comment -> Nullable<Text>,
duration -> Nullable<Integer>,
bitrate -> Nullable<Integer>,
bpm -> Nullable<Float>,
key -> Nullable<Text>,
rating -> Nullable<Integer>,
}
}
diesel::table! {
track_locations (id) {
id -> Nullable<Integer>,
location -> Nullable<Text>,
filename -> Nullable<Text>,
directory -> Nullable<Text>,
filesize -> Nullable<Integer>,
fs_deleted -> Nullable<Integer>,
needs_verification -> Nullable<Integer>,
}
}
diesel::table! {
traktor_library (id) {
id -> Nullable<Integer>,
artist -> Nullable<Text>,
title -> Nullable<Text>,
album -> Nullable<Text>,
year -> Nullable<Text>,
genre -> Nullable<Text>,
tracknumber -> Nullable<Text>,
location -> Nullable<Text>,
comment -> Nullable<Text>,
duration -> Nullable<Integer>,
bitrate -> Nullable<Integer>,
bpm -> Nullable<Float>,
key -> Nullable<Text>,
rating -> Nullable<Integer>,
}
}
diesel::allow_tables_to_appear_in_same_query!(
itunes_library,
library,
rhythmbox_library,
track_locations,
traktor_library,
);