diff options
author | metamuffin <metamuffin@disroot.org> | 2025-04-28 21:50:51 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-04-28 21:50:51 +0200 |
commit | 73d2d5eb01fceae9e0b1c58afb648822000c878a (patch) | |
tree | 8fd0279949251245e2086ad28e99b114eac1bf14 /common/src/impl.rs | |
parent | 51761cbdefa39107b9e1f931f1aa8df6aebb2a94 (diff) | |
download | jellything-73d2d5eb01fceae9e0b1c58afb648822000c878a.tar jellything-73d2d5eb01fceae9e0b1c58afb648822000c878a.tar.bz2 jellything-73d2d5eb01fceae9e0b1c58afb648822000c878a.tar.zst |
yes
Diffstat (limited to 'common/src/impl.rs')
-rw-r--r-- | common/src/impl.rs | 98 |
1 files changed, 6 insertions, 92 deletions
diff --git a/common/src/impl.rs b/common/src/impl.rs index 5b35be3..690a189 100644 --- a/common/src/impl.rs +++ b/common/src/impl.rs @@ -4,10 +4,8 @@ Copyright (C) 2025 metamuffin <metamuffin.org> */ use crate::{ - Node, NodeID, NodeIDOrSlug, ObjectIds, PeopleGroup, SourceTrack, SourceTrackKind, TmdbKind, - TraktKind, + Node, NodeID, NodeIDOrSlug, ObjectIds, SourceTrack, SourceTrackKind, TmdbKind, TraktKind, }; -use hex::FromHexError; use serde::{Deserialize, Serialize}; use std::{fmt::Display, str::FromStr}; @@ -111,58 +109,6 @@ impl Display for ObjectIds { Ok(()) } } -impl Display for PeopleGroup { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(match self { - PeopleGroup::Cast => "Cast", - PeopleGroup::Writing => "Writing", - PeopleGroup::Directing => "Directing", - PeopleGroup::Art => "Art", - PeopleGroup::Sound => "Sound", - PeopleGroup::Camera => "Camera", - PeopleGroup::Lighting => "Lighting", - PeopleGroup::Crew => "Crew", - PeopleGroup::Editing => "Editing", - PeopleGroup::Production => "Production", - PeopleGroup::Vfx => "Visual Effects", - PeopleGroup::CostumeMakeup => "Costume & Makeup", - PeopleGroup::CreatedBy => "Created by:", - PeopleGroup::Performance => "Performance", - PeopleGroup::Instrument => "Instrument", - PeopleGroup::Vocal => "Vocal", - PeopleGroup::Arranger => "Arranger", - PeopleGroup::Producer => "Producer", - PeopleGroup::Engineer => "Engineer", - }) - } -} -impl FromStr for PeopleGroup { - type Err = (); - fn from_str(s: &str) -> Result<Self, Self::Err> { - Ok(match s { - "Cast" => PeopleGroup::Cast, - "Writing" => PeopleGroup::Writing, - "Directing" => PeopleGroup::Directing, - "Art" => PeopleGroup::Art, - "Sound" => PeopleGroup::Sound, - "Camera" => PeopleGroup::Camera, - "Lighting" => PeopleGroup::Lighting, - "Crew" => PeopleGroup::Crew, - "Editing" => PeopleGroup::Editing, - "Production" => PeopleGroup::Production, - "Visual Effects" => PeopleGroup::Vfx, - "Costume & Makeup" => PeopleGroup::CostumeMakeup, - "Created by:" => PeopleGroup::CreatedBy, - "Performance" => PeopleGroup::Performance, - "Instrument" => PeopleGroup::Instrument, - "Vocal" => PeopleGroup::Vocal, - "Arranger" => PeopleGroup::Arranger, - "Producer" => PeopleGroup::Producer, - "Engineer" => PeopleGroup::Engineer, - _ => return Err(()), - }) - } -} impl NodeID { pub fn from_slug(slug: &str) -> Self { @@ -186,50 +132,18 @@ impl NodeID { pub const MAX: NodeID = NodeID([255; 32]); } -#[cfg(feature = "rocket")] -impl<'a> rocket::request::FromParam<'a> for NodeID { - type Error = FromHexError; - fn from_param(param: &'a str) -> Result<Self, Self::Error> { - if let Some(id) = param.strip_prefix("+") { +impl FromStr for NodeID { + type Err = hex::FromHexError; + fn from_str(s: &str) -> Result<Self, Self::Err> { + if let Some(id) = s.strip_prefix("+") { let mut k = [0; 32]; hex::decode_to_slice(id, &mut k)?; Ok(NodeID(k)) } else { - Ok(NodeID::from_slug(param)) + Ok(NodeID::from_slug(s)) } } } -#[cfg(feature = "rocket")] -impl rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, NodeID> for NodeID { - type Target = NodeID; - fn from_uri_param(param: NodeID) -> Self::Target { - param - } -} -#[cfg(feature = "rocket")] -impl<'a> rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, &'a String> for NodeID { - type Target = &'a str; - fn from_uri_param(param: &'a String) -> Self::Target { - param.as_str() - } -} -#[cfg(feature = "rocket")] -impl<'a> rocket::http::uri::fmt::FromUriParam<rocket::http::uri::fmt::Path, &'a str> for NodeID { - type Target = &'a str; - fn from_uri_param(param: &'a str) -> Self::Target { - param - } -} -#[cfg(feature = "rocket")] -impl rocket::http::uri::fmt::UriDisplay<rocket::http::uri::fmt::Path> for NodeID { - fn fmt( - &self, - f: &mut rocket::http::uri::fmt::Formatter<'_, rocket::http::uri::fmt::Path>, - ) -> std::fmt::Result { - f.write_value(format!("+{}", hex::encode(self.0)))?; - Ok(()) - } -} impl Display for NodeID { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { f.write_str("+")?; |