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 fn on_progress( self, callback: impl Fn(u32, u32) + Send + Sync + 'static, ) -> Self

Register a progress callback invoked with (fetched, total) after each batch.

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.

Trait Implementations§

Source§

impl Debug for LovedTracksRequestBuilder

Source§

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

Formats the value using the given formatter. Read more
Source§

impl FetchAndSave for LovedTracksRequestBuilder

Source§

type Item = LovedTrack

The item type produced by this builder.
Source§

fn resource_label() -> &'static str

A human-readable label used in log messages (e.g. "top tracks").
Source§

fn latest_timestamp(items: &[Self::Item]) -> Option<u32>

Return the most recent timestamp from the given items, used to write a sidecar file after saving. Return None (the default) if the item type has no timestamp.
Source§

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

Fetch items and save them to a file. Read more
Source§

impl FetchAndUpdate for LovedTracksRequestBuilder

Source§

async fn fetch_since(self, max_ts: Option<u32>) -> Result<Vec<Self::Item>>

Fetch all loved tracks and return only those newer than max_ts.

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

Source§

type Item = LovedTrack

The item type produced by this builder.
Source§

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

Fetch only items newer than the most recent entry in an existing file and prepend them to it. Creates the file if it does not exist. Read more
Source§

impl LimitBuilder for LovedTracksRequestBuilder

Source§

fn limit(self, n: u32) -> Self

Set the maximum number of items to fetch. Read more
Source§

fn unlimited(self) -> Self

Fetch all available items (no limit).

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Analyze for T

Source§

type Item = <T as FetchAndSave>::Item

The item type produced by this builder.
Source§

async fn do_fetch_for_analyze( self, ) -> Result<Vec<<T as Analyze>::Item>, LastFmError>

Source§

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

Fetch items and return play-count statistics. Read more
Source§

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

Fetch items, compute statistics, and print them to stdout. Read more
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