[][src]Trait mygpoclient::episode::UploadEpisodeActions

pub trait UploadEpisodeActions {
    fn upload_episode_actions(
        &self,
        actions: &[EpisodeAction]
    ) -> Result<UploadEpisodeActionsResponse, Error>; }

Required methods

fn upload_episode_actions(
    &self,
    actions: &[EpisodeAction]
) -> Result<UploadEpisodeActionsResponse, Error>

Upload changed episode actions.

As actions are saved on a per-user basis (not per-device), the API endpoint is the same for every device. For logging purposes, the client can send the device ID to the server, so it appears in the episode action log on the website.

Examples

use mygpoclient::client::AuthenticatedClient;
use mygpoclient::episode::EpisodeAction;
use mygpoclient::episode::UploadEpisodeActions;
use chrono::prelude::*;
use url::Url;

let client = AuthenticatedClient::new(&username, &password);

let download = EpisodeAction::new_download(Url::parse("http://example.com/feed1.rss").unwrap(), Url::parse("http://example.com/files/s01e20.mp3").unwrap(), Some(NaiveDate::from_ymd(2009,12,12).and_hms(9,0,0)));
let play = EpisodeAction::new_play(Url::parse("http://example.org/podcast2.php").unwrap(), Url::parse("http://ftp.example.org/foo2.ogg").unwrap(), None,120,15,500);
let delete = EpisodeAction::new_delete(Url::parse("http://example.com/feed3.rss").unwrap(), Url::parse("http://example.com/files/s03e20.mp3").unwrap(), None);
let new = EpisodeAction::new_new(Url::parse("http://example.com/feed4.rss").unwrap(), Url::parse("http://example.com/files/s04e20.mp3").unwrap(), None);
let play_stop = EpisodeAction::new_play_stop(Url::parse("http://example.org/podcast5.php").unwrap(), Url::parse("http://ftp.example.org/foo5.ogg").unwrap(), None, 120);
let episode_actions = vec!(download, play, delete, new, play_stop);

let response = client.upload_episode_actions(&episode_actions)?;
Loading content...

Implementors

impl UploadEpisodeActions for AuthenticatedClient[src]

Loading content...