Skip to content

Commit

Permalink
rename PlayingItem to PlayableItem
Browse files Browse the repository at this point in the history
see ramsayleung/rspotify#194 for details.

Signed-off-by: KOSHIKAWA Kenichi <reishoku.misc@pm.me>
  • Loading branch information
reishoku committed Apr 23, 2022
1 parent de92c37 commit 235bb78
Show file tree
Hide file tree
Showing 7 changed files with 49 additions and 49 deletions.
26 changes: 13 additions & 13 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ use rspotify::{
show::{FullShow, Show, SimplifiedEpisode, SimplifiedShow},
track::{FullTrack, SavedTrack, SimplifiedTrack},
user::PrivateUser,
PlayingItem,
PlayableItem,
},
model::Country,
};
Expand Down Expand Up @@ -448,8 +448,8 @@ impl App {
}) = &self.current_playback_context
{
let duration_ms = match item {
PlayingItem::Track(track) => track.duration_ms,
PlayingItem::Episode(episode) => episode.duration_ms,
PlayableItem::Track(track) => track.duration_ms,
PlayableItem::Episode(episode) => episode.duration_ms,
};

let event = if seek_ms < duration_ms {
Expand Down Expand Up @@ -502,8 +502,8 @@ impl App {
} + u128::from(*progress_ms);

let duration_ms = match item {
PlayingItem::Track(track) => track.duration_ms,
PlayingItem::Episode(episode) => episode.duration_ms,
PlayableItem::Track(track) => track.duration_ms,
PlayableItem::Episode(episode) => episode.duration_ms,
};

if elapsed < u128::from(duration_ms) {
Expand All @@ -520,8 +520,8 @@ impl App {
}) = &self.current_playback_context
{
let duration_ms = match item {
PlayingItem::Track(track) => track.duration_ms,
PlayingItem::Episode(episode) => episode.duration_ms,
PlayableItem::Track(track) => track.duration_ms,
PlayableItem::Episode(episode) => episode.duration_ms,
};

let old_progress = match self.seek_ms {
Expand Down Expand Up @@ -683,15 +683,15 @@ impl App {
}) = &self.current_playback_context
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Err(e) = clipboard.set_text(format!(
"https://open.spotify.com/track/{}",
track.id.to_owned().unwrap_or_default()
)) {
self.handle_error(anyhow!("failed to set clipboard content: {}", e));
}
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
if let Err(e) = clipboard.set_text(format!(
"https://open.spotify.com/episode/{}",
episode.id.to_owned()
Expand All @@ -714,15 +714,15 @@ impl App {
}) = &self.current_playback_context
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Err(e) = clipboard.set_text(format!(
"https://open.spotify.com/album/{}",
track.album.id.to_owned().unwrap_or_default()
)) {
self.handle_error(anyhow!("failed to set clipboard content: {}", e));
}
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
if let Err(e) = clipboard.set_text(format!(
"https://open.spotify.com/show/{}",
episode.show.id.to_owned()
Expand Down Expand Up @@ -1143,14 +1143,14 @@ impl App {
}) = &self.current_playback_context
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if self.get_current_route().id != RouteId::Analysis {
let uri = track.uri.clone();
self.dispatch(IoEvent::GetAudioAnalysis(uri));
self.push_navigation_stack(RouteId::Analysis, ActiveBlock::Analysis);
}
}
PlayingItem::Episode(_episode) => {
PlayableItem::Episode(_episode) => {
// No audio analysis available for podcast uris, so just default to the empty analysis
// view to avoid a 400 error code
self.push_navigation_stack(RouteId::Analysis, ActiveBlock::Analysis);
Expand Down
22 changes: 11 additions & 11 deletions src/cli/cli_app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use super::util::{Flag, Format, FormatType, JumpDirection, Type};

use anyhow::{anyhow, Result};
use rand::{thread_rng, Rng};
use rspotify::model::{context::CurrentPlaybackContext, PlayingItem};
use rspotify::model::{context::CurrentPlaybackContext, PlayableItem};

pub struct CliApp<'a> {
pub net: Network<'a>,
Expand Down Expand Up @@ -67,11 +67,11 @@ impl<'a> CliApp<'a> {
}) = &app.current_playback_context
{
match item {
PlayingItem::Track(track) => Ok(format!(
PlayableItem::Track(track) => Ok(format!(
"https://open.spotify.com/track/{}",
track.id.to_owned().unwrap_or_default()
)),
PlayingItem::Episode(episode) => Ok(format!(
PlayableItem::Episode(episode) => Ok(format!(
"https://open.spotify.com/episode/{}",
episode.id.to_owned()
)),
Expand All @@ -92,11 +92,11 @@ impl<'a> CliApp<'a> {
}) = &app.current_playback_context
{
match item {
PlayingItem::Track(track) => Ok(format!(
PlayableItem::Track(track) => Ok(format!(
"https://open.spotify.com/album/{}",
track.album.id.to_owned().unwrap_or_default()
)),
PlayingItem::Episode(episode) => Ok(format!(
PlayableItem::Episode(episode) => Ok(format!(
"https://open.spotify.com/show/{}",
episode.show.id.to_owned()
)),
Expand Down Expand Up @@ -292,8 +292,8 @@ impl<'a> CliApp<'a> {
}) = &app.current_playback_context
{
let duration = match item {
PlayingItem::Track(track) => track.duration_ms,
PlayingItem::Episode(episode) => episode.duration_ms,
PlayableItem::Track(track) => track.duration_ms,
PlayableItem::Episode(episode) => episode.duration_ms,
};

(*ms as u32, duration)
Expand Down Expand Up @@ -350,8 +350,8 @@ impl<'a> CliApp<'a> {
// Get the id of the current song
let id = match c.item {
Some(i) => match i {
PlayingItem::Track(t) => t.id.ok_or_else(|| anyhow!("item has no id")),
PlayingItem::Episode(_) => Err(anyhow!("saving episodes not yet implemented")),
PlayableItem::Track(t) => t.id.ok_or_else(|| anyhow!("item has no id")),
PlayableItem::Episode(_) => Err(anyhow!("saving episodes not yet implemented")),
},
None => Err(anyhow!("no item playing")),
}?;
Expand Down Expand Up @@ -413,7 +413,7 @@ impl<'a> CliApp<'a> {
let playing_item = context.item.ok_or_else(|| anyhow!("no track playing"))?;

let mut hs = match playing_item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
let id = track.id.clone().unwrap_or_default();
let mut hs = Format::from_type(FormatType::Track(Box::new(track.clone())));
if let Some(ms) = context.progress_ms {
Expand All @@ -426,7 +426,7 @@ impl<'a> CliApp<'a> {
)));
hs
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
let mut hs = Format::from_type(FormatType::Episode(Box::new(episode.clone())));
if let Some(ms) = context.progress_ms {
hs.push(Format::Position((ms, episode.duration_ms)))
Expand Down
6 changes: 3 additions & 3 deletions src/handlers/basic_view.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
use crate::{app::App, event::Key, network::IoEvent};
use rspotify::model::{context::CurrentPlaybackContext, PlayingItem};
use rspotify::model::{context::CurrentPlaybackContext, PlayableItem};

pub fn handler(key: Key, app: &mut App) {
if let Key::Char('s') = key {
Expand All @@ -8,12 +8,12 @@ pub fn handler(key: Key, app: &mut App) {
}) = app.current_playback_context.to_owned()
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Some(track_id) = track.id {
app.dispatch(IoEvent::ToggleSaveTrack(track_id));
}
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
app.dispatch(IoEvent::ToggleSaveTrack(episode.id));
}
};
Expand Down
10 changes: 5 additions & 5 deletions src/handlers/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ mod track_table;
use super::app::{ActiveBlock, App, ArtistBlock, RouteId, SearchResultBlock};
use crate::event::Key;
use crate::network::IoEvent;
use rspotify::model::{context::CurrentPlaybackContext, PlayingItem};
use rspotify::model::{context::CurrentPlaybackContext, PlayableItem};

pub use input::handler as input_handler;

Expand Down Expand Up @@ -216,10 +216,10 @@ fn handle_jump_to_album(app: &mut App) {
}) = app.current_playback_context.to_owned()
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
app.dispatch(IoEvent::GetAlbumTracks(Box::new(track.album)));
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
app.dispatch(IoEvent::GetShowEpisodes(Box::new(episode.show)));
}
};
Expand All @@ -233,15 +233,15 @@ fn handle_jump_to_artist_album(app: &mut App) {
}) = app.current_playback_context.to_owned()
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Some(artist) = track.artists.first() {
if let Some(artist_id) = artist.id.clone() {
app.get_artist(artist_id, artist.name.clone());
app.push_navigation_stack(RouteId::Artist, ActiveBlock::ArtistBlock);
}
}
}
PlayingItem::Episode(_episode) => {
PlayableItem::Episode(_episode) => {
// Do nothing for episode (yet!)
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/handlers/playbar.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use super::{
};
use crate::event::Key;
use crate::network::IoEvent;
use rspotify::model::{context::CurrentPlaybackContext, PlayingItem};
use rspotify::model::{context::CurrentPlaybackContext, PlayableItem};

pub fn handler(key: Key, app: &mut App) {
match key {
Expand All @@ -17,12 +17,12 @@ pub fn handler(key: Key, app: &mut App) {
}) = app.current_playback_context.to_owned()
{
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Some(track_id) = track.id {
app.dispatch(IoEvent::ToggleSaveTrack(track_id));
}
}
PlayingItem::Episode(episode) => {
PlayableItem::Episode(episode) => {
app.dispatch(IoEvent::ToggleSaveTrack(episode.id));
}
};
Expand Down
6 changes: 3 additions & 3 deletions src/network.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ use rspotify::{
search::SearchResult,
show::SimplifiedShow,
track::FullTrack,
PlayingItem,
PlayableItem,
},
oauth2::{SpotifyClientCredentials, SpotifyOAuth, TokenInfo},
model::{AdditionalType, Country, RepeatState, SearchType},
Expand Down Expand Up @@ -354,12 +354,12 @@ impl<'a> Network<'a> {

if let Some(item) = c.item {
match item {
PlayingItem::Track(track) => {
PlayableItem::Track(track) => {
if let Some(track_id) = track.id {
app.dispatch(IoEvent::CurrentUserSavedTracksContains(vec![track_id]));
};
}
PlayingItem::Episode(_episode) => { /*should map this to following the podcast show*/ }
PlayableItem::Episode(_episode) => { /*should map this to following the podcast show*/ }
}
};
}
Expand Down
22 changes: 11 additions & 11 deletions src/ui/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ use super::{
};
use help::get_help_docs;
use rspotify::model::show::ResumePoint;
use rspotify::model::PlayingItem;
use rspotify::model::PlayableItem;
use rspotify::model::RepeatState;
use tui::{
backend::Backend,
Expand Down Expand Up @@ -388,8 +388,8 @@ where
.clone()
.and_then(|context| {
context.item.and_then(|item| match item {
PlayingItem::Track(track) => track.id,
PlayingItem::Episode(episode) => Some(episode.id),
PlayableItem::Track(track) => track.id,
PlayableItem::Episode(episode) => Some(episode.id),
})
})
.unwrap_or_else(|| "".to_string());
Expand Down Expand Up @@ -987,12 +987,12 @@ where
f.render_widget(title_block, layout_chunk);

let (item_id, name, duration_ms) = match track_item {
PlayingItem::Track(track) => (
PlayableItem::Track(track) => (
track.id.to_owned().unwrap_or_else(|| "".to_string()),
track.name.to_owned(),
track.duration_ms,
),
PlayingItem::Episode(episode) => (
PlayableItem::Episode(episode) => (
episode.id.to_owned(),
episode.name.to_owned(),
episode.duration_ms,
Expand All @@ -1006,8 +1006,8 @@ where
};

let play_bar_text = match track_item {
PlayingItem::Track(track) => create_artist_string(&track.artists),
PlayingItem::Episode(episode) => format!("{} - {}", episode.name, episode.show.name),
PlayableItem::Track(track) => create_artist_string(&track.artists),
PlayableItem::Episode(episode) => format!("{} - {}", episode.name, episode.show.name),
};

let lines = Text::from(Span::styled(
Expand Down Expand Up @@ -1203,8 +1203,8 @@ where
let mut name = String::new();
if let Some(context) = &app.current_playback_context {
let track_id = match &context.item {
Some(PlayingItem::Track(track)) => track.id.to_owned(),
Some(PlayingItem::Episode(episode)) => Some(episode.id.to_owned()),
Some(PlayableItem::Track(track)) => track.id.to_owned(),
Some(PlayableItem::Episode(episode)) => Some(episode.id.to_owned()),
_ => None,
};

Expand Down Expand Up @@ -1765,10 +1765,10 @@ fn draw_table<B>(

let track_playing_index = app.current_playback_context.to_owned().and_then(|ctx| {
ctx.item.and_then(|item| match item {
PlayingItem::Track(track) => items
PlayableItem::Track(track) => items
.iter()
.position(|item| track.id.to_owned().map(|id| id == item.id).unwrap_or(false)),
PlayingItem::Episode(episode) => items.iter().position(|item| episode.id == item.id),
PlayableItem::Episode(episode) => items.iter().position(|item| episode.id == item.id),
})
});

Expand Down

0 comments on commit 235bb78

Please sign in to comment.