Skip to main content

LovedTracksRequestBuilder

Struct LovedTracksRequestBuilder 

Source
pub struct LovedTracksRequestBuilder { /* private fields */ }
Expand description

Builder for loved tracks requests

Implementations§

Source§

impl LovedTracksRequestBuilder

Source

pub const fn limit(self, limit: u32) -> Self

Set the maximum number of tracks to fetch

§Arguments
  • limit - Maximum number of tracks to fetch. The Last.fm API supports fetching up to thousands of tracks. If you need all tracks, use unlimited() instead.
Source

pub const fn unlimited(self) -> Self

Fetch all available tracks (no limit)

Source

pub async fn fetch(self) -> Result<TrackList<LovedTrack>>

Fetch the tracks

§Errors

Returns an error if the HTTP request fails or the response cannot be parsed.

Source

pub async fn fetch_and_save( self, format: FileFormat, filename_prefix: &str, ) -> Result<String>

Fetch tracks and save them to a file

§Arguments
  • format - The file format to save the tracks in
  • filename_prefix - Prefix for the generated filename
§Errors

Returns an error if the HTTP request fails, response cannot be parsed, or file cannot be saved.

§Returns
  • Result<String> - The filename of the saved file
Source

pub async fn fetch_and_update(self, file_path: &str) -> Result<usize>

Fetch only tracks newer than the most recent entry in an existing JSON file and prepend them to it. If the file does not exist, all tracks are fetched and the file is created.

Unlike recent_tracks, the loved tracks API does not support a from timestamp filter, so all tracks are fetched and those already present (by timestamp) are filtered out.

§Arguments
  • file_path - Path to the JSON file to update (or create)
§Errors

Returns an error if the HTTP request fails, the response cannot be parsed, or the file cannot be read or written.

§Returns
  • Result<usize> - Number of new tracks prepended
Source

pub async fn analyze(self, threshold: usize) -> Result<TrackStats>

Analyze tracks and return statistics

§Arguments
  • threshold - Minimum play count threshold. Tracks with fewer plays than this value will be counted separately in tracks_below_threshold. For example, use 5 to identify tracks played less than 5 times.
§Errors

Returns an error if the HTTP request fails or the response cannot be parsed.

§Returns
  • Result<crate::analytics::TrackStats> - Analysis results including play counts, most played tracks, etc.
Source

pub async fn analyze_and_print(self, threshold: usize) -> Result<()>

Analyze tracks and print statistics

§Arguments
  • threshold - Minimum play count threshold. Tracks with fewer plays than this value will be counted separately. For example, use 5 to identify tracks played less than 5 times.
§Errors

Returns an error if the HTTP request fails or the response cannot be parsed.

Trait Implementations§

Source§

impl Debug for LovedTracksRequestBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more