You've already forked flix
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
492f054e23
|
|||
|
343978e3f2
|
|||
|
45b0a5e601
|
Generated
+3
-3
@@ -214,7 +214,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
|
||||
|
||||
[[package]]
|
||||
name = "flix"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"flix-tmdb",
|
||||
@@ -224,7 +224,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "flix-cli"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -238,7 +238,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "flix-tmdb"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"reqwest",
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ overflow-checks = true
|
||||
strip = "debuginfo"
|
||||
|
||||
[workspace.dependencies]
|
||||
flix = { path = "crates/flix", version = "=0.0.1", default-features = false }
|
||||
flix-tmdb = { path = "crates/tmdb", version = "=0.0.1", default-features = false }
|
||||
flix = { path = "crates/flix", version = "=0.0.3", default-features = false }
|
||||
flix-tmdb = { path = "crates/tmdb", version = "=0.0.3", default-features = false }
|
||||
|
||||
anyhow = { version = "^1", default-features = false }
|
||||
chrono = { version = "^0.4", default-features = false }
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "flix-cli"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
|
||||
categories = ["command-line-utilities"]
|
||||
description = "CLI for interacting with flix media"
|
||||
|
||||
@@ -46,11 +46,11 @@ impl TmdbObject {
|
||||
movie: GenericMovie {
|
||||
title: tmdb.title,
|
||||
overview: tmdb.overview,
|
||||
genres: tmdb.genres.iter().cloned().map(|g| g.name).collect(),
|
||||
release_date: tmdb.release_date,
|
||||
},
|
||||
tmdb: Some(TmdbMovie {
|
||||
id: tmdb.id,
|
||||
collection: tmdb.collection.map(|c| c.id),
|
||||
genres: tmdb.genres.iter().map(|g| g.id).collect(),
|
||||
}),
|
||||
})?,
|
||||
@@ -58,6 +58,7 @@ impl TmdbObject {
|
||||
show: GenericShow {
|
||||
name: tmdb.name,
|
||||
overview: tmdb.overview,
|
||||
genres: tmdb.genres.iter().cloned().map(|g| g.name).collect(),
|
||||
air_date: tmdb.first_air_date,
|
||||
},
|
||||
tmdb: Some(TmdbShow {
|
||||
@@ -67,7 +68,6 @@ impl TmdbObject {
|
||||
})?,
|
||||
TmdbObject::Season(tmdb) => toml::to_string(&Season {
|
||||
season: GenericSeason {
|
||||
number: tmdb.season_number,
|
||||
name: tmdb.name,
|
||||
overview: tmdb.overview,
|
||||
air_date: tmdb.air_date,
|
||||
@@ -75,7 +75,6 @@ impl TmdbObject {
|
||||
})?,
|
||||
TmdbObject::Episode(tmdb) => toml::to_string(&Episode {
|
||||
episode: GenericEpisode {
|
||||
number: tmdb.episode_number,
|
||||
name: tmdb.name,
|
||||
overview: tmdb.overview,
|
||||
air_date: tmdb.air_date,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "flix"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
|
||||
categories = []
|
||||
description = "Types for storing persistent data about media"
|
||||
|
||||
@@ -10,8 +10,6 @@ pub struct Episode {
|
||||
/// The generic episode data
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
pub struct GenericEpisode {
|
||||
/// The episode's number
|
||||
pub number: i32,
|
||||
/// The episode's name
|
||||
pub name: String,
|
||||
/// The episode's overview
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#[cfg(feature = "tmdb")]
|
||||
use flix_tmdb::model::{CollectionId, MovieGenreId, MovieId};
|
||||
use flix_tmdb::model::{MovieGenreId, MovieId};
|
||||
|
||||
use chrono::NaiveDate;
|
||||
|
||||
@@ -21,6 +21,8 @@ pub struct GenericMovie {
|
||||
pub title: String,
|
||||
/// The movie's overview
|
||||
pub overview: String,
|
||||
/// The movie's genres
|
||||
pub genres: Vec<String>,
|
||||
/// The movie's release date
|
||||
pub release_date: NaiveDate,
|
||||
}
|
||||
@@ -31,8 +33,6 @@ pub struct GenericMovie {
|
||||
pub struct TmdbMovie {
|
||||
/// The movie's TMDB ID
|
||||
pub id: MovieId,
|
||||
/// The movie's collection's TMDB ID
|
||||
pub collection: Option<CollectionId>,
|
||||
/// The list of genre TMDB IDs that the movie is associated with
|
||||
pub genres: Vec<MovieGenreId>,
|
||||
}
|
||||
|
||||
@@ -10,8 +10,6 @@ pub struct Season {
|
||||
/// The generic season data
|
||||
#[derive(Debug, serde::Serialize, serde::Deserialize)]
|
||||
pub struct GenericSeason {
|
||||
/// The season's number
|
||||
pub number: i32,
|
||||
/// The season's name
|
||||
pub name: String,
|
||||
/// The season's overview
|
||||
|
||||
@@ -21,6 +21,8 @@ pub struct GenericShow {
|
||||
pub name: String,
|
||||
/// The show's overview
|
||||
pub overview: String,
|
||||
/// The show's genres
|
||||
pub genres: Vec<String>,
|
||||
/// The show's air date
|
||||
pub air_date: NaiveDate,
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "flix-tmdb"
|
||||
version = "0.0.1"
|
||||
version = "0.0.3"
|
||||
|
||||
categories = []
|
||||
description = "Clients and models for fetching data from TMDB"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# flix
|
||||
# flix-tmdb
|
||||
|
||||
[](https://crates.io/crates/flix)
|
||||
[](https://crates.io/crates/flix-tmdb)
|
||||
|
||||
A library providing clients and models for fetching data from TMDB
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use super::{CollectionId, MovieId};
|
||||
|
||||
/// A deserialized Collection from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Collection {
|
||||
/// The collection's TMDB ID
|
||||
pub id: CollectionId,
|
||||
@@ -15,7 +15,7 @@ pub struct Collection {
|
||||
}
|
||||
|
||||
/// A deserialized collection item from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Item {
|
||||
/// The movie's TMDB ID
|
||||
pub id: MovieId,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use chrono::NaiveDate;
|
||||
|
||||
/// A deserialized Episode from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Episode {
|
||||
/// The episode's number
|
||||
pub episode_number: i32,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use super::id::{MovieGenreId, ShowGenreId};
|
||||
|
||||
/// A deserialized movie Genre from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct MovieGenre {
|
||||
/// The genre's TMDB ID
|
||||
pub id: MovieGenreId,
|
||||
@@ -10,7 +10,7 @@ pub struct MovieGenre {
|
||||
}
|
||||
|
||||
/// A deserialized show Genre from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct ShowGenre {
|
||||
/// The genre's TMDB ID
|
||||
pub id: ShowGenreId,
|
||||
|
||||
@@ -18,8 +18,11 @@ pub enum Collection {}
|
||||
pub enum Movie {}
|
||||
pub enum Show {}
|
||||
|
||||
type Inner = i32;
|
||||
/// The inner type of TmdbId
|
||||
pub type Inner = i32;
|
||||
|
||||
/// Wraps an ID from TMDB, the generic parameter is to enforce that
|
||||
/// IDs for different types of media are not interchangeable
|
||||
#[derive(serde::Serialize, serde::Deserialize)]
|
||||
#[serde(transparent)]
|
||||
#[repr(transparent)]
|
||||
@@ -30,7 +33,8 @@ pub struct TmdbId<T> {
|
||||
}
|
||||
|
||||
impl<T> TmdbId<T> {
|
||||
pub fn inner(&self) -> Inner {
|
||||
/// Extract the inner value
|
||||
pub fn inner(self) -> Inner {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,3 +15,4 @@ pub use serde::*;
|
||||
pub use show::*;
|
||||
|
||||
pub use id::{CollectionId, MovieGenreId, MovieId, ShowGenreId, ShowId};
|
||||
pub use id::{Inner as TmdbIdInner, TmdbId};
|
||||
|
||||
@@ -3,7 +3,7 @@ use chrono::NaiveDate;
|
||||
use super::{CollectionId, MovieGenre, MovieId};
|
||||
|
||||
/// A deserialized Movie from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Movie {
|
||||
/// The movie's TMDB ID
|
||||
pub id: MovieId,
|
||||
@@ -23,14 +23,14 @@ pub struct Movie {
|
||||
}
|
||||
|
||||
/// A deserialized movie's collection from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct InCollection {
|
||||
/// The collection's TMDB ID
|
||||
pub id: CollectionId,
|
||||
}
|
||||
|
||||
/// A deserialized movie status from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, Copy, serde::Deserialize)]
|
||||
pub enum MovieStatus {
|
||||
/// The movie was cancelled
|
||||
#[serde(rename = "Canceled")]
|
||||
|
||||
@@ -3,7 +3,7 @@ use chrono::NaiveDate;
|
||||
use super::Episode;
|
||||
|
||||
/// A deserialized Season from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Season {
|
||||
/// The season's number
|
||||
pub season_number: i32,
|
||||
|
||||
@@ -3,7 +3,7 @@ use chrono::NaiveDate;
|
||||
use super::{ShowGenre, ShowId};
|
||||
|
||||
/// A deserialized Show from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, serde::Deserialize)]
|
||||
pub struct Show {
|
||||
/// The show's TMDB ID
|
||||
pub id: ShowId,
|
||||
@@ -24,7 +24,7 @@ pub struct Show {
|
||||
}
|
||||
|
||||
/// A deserialized show Status from the TMDB API
|
||||
#[derive(Debug, serde::Deserialize)]
|
||||
#[derive(Debug, Clone, Copy, serde::Deserialize)]
|
||||
pub enum ShowStatus {
|
||||
/// The show is returning
|
||||
#[serde(rename = "Returning Series")]
|
||||
|
||||
Reference in New Issue
Block a user