music_exporter/
lib.rs

1//! Music exporter
2//!
3//! # CLI Usage
4//!
5//! ```sh
6//! cargo install music-exporter
7//! music-exporter --music-file musics.json --platform deezer
8//! ```
9//!
10//! # Rust Usage
11//!
12//! ```rust
13//! use music_exporter::{Music, MusicExporter, MusicExporterError};
14//! use clap::Parser;
15//!
16//! async fn run_async() -> Result<Vec<Music>, MusicExporterError> {
17//!    let music_exp = MusicExporter::parse();
18//!    // music_exp.load_env()?;
19//!    music_exp.get_musics().await
20//! }
21//! ```
22//!
23
24#![deny(
25    missing_docs,
26    clippy::all,
27    clippy::missing_docs_in_private_items,
28    clippy::missing_errors_doc,
29    clippy::missing_panics_doc,
30    clippy::cargo
31)]
32#![warn(clippy::multiple_crate_versions)]
33
34mod macros;
35pub(crate) mod music;
36pub(crate) mod oauth;
37pub(crate) mod utils;
38
39mod deezer;
40mod errors;
41mod spotify;
42mod youtube;
43
44pub use deezer::lib::DeezerPlatform;
45pub use music::Music;
46pub use spotify::lib::SpotifyPlatform;
47pub use youtube::lib::YoutubePlatform;
48
49pub use errors::MusicExporterError;
50pub use utils::music_exporter_main;
51pub use utils::MusicExporter;
52pub use utils::Platform;
53pub use utils::PlatformType;
54
55pub(crate) use macros::custom_env;