Struct rss::Channel [] [src]

pub struct Channel { /* fields omitted */ }

A representation of the <channel> element.

Methods

impl Channel
[src]

Return the title of this Channel.

Examples

use rss::ChannelBuilder;

let title = "The Linux Action Show! OGG".to_string();

let channel = ChannelBuilder::default()
    .title(title.as_str())
    .finalize();

assert_eq!(title, channel.title());

Return the web site URL for this Channel.

Examples

use rss::ChannelBuilder;

let link = "http://www.jupiterbroadcasting.com/".to_string();

let channel = ChannelBuilder::default()
    .link(link.as_str())
    .finalize();

assert_eq!(link, channel.link());

Return the description of this Channel.

Examples

use rss::ChannelBuilder;

let description = "Ogg Vorbis audio versions of The Linux Action Show!".to_string();

let channel = ChannelBuilder::default()
    .description(description.as_str())
    .finalize();

assert_eq!(description, channel.description());

Return the langauge of this Channel.

Examples

use rss::ChannelBuilder;

let language_string = "en-US";

let channel = ChannelBuilder::default()
    .language(language_string.to_string())
    .finalize();

assert_eq!(Some(language_string), channel.language());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .language(None)
    .finalize();

assert!(channel.language().is_none());

Return the copyright notice for the content of this Channel.

Examples

use rss::ChannelBuilder;

let copyright = "Copyright 2002, Spartanburg Herald-Journal";

let channel = ChannelBuilder::default()
    .copyright(copyright.to_string())
    .finalize();

assert_eq!(Some(copyright), channel.copyright());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .copyright(None)
    .finalize();

assert!(channel.copyright().is_none());

Return the email address for the managing editor of this Channel.

Examples

use rss::ChannelBuilder;

let managing_editor = "chris@jupiterbroadcasting.com (Chris Fisher)";

let channel = ChannelBuilder::default()
    .managing_editor(managing_editor.to_string())
    .finalize();

assert_eq!(Some(managing_editor), channel.managing_editor());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .managing_editor(None)
    .finalize();

assert!(channel.managing_editor().is_none());

Return the email address for webmaster of this Channel.

Examples

use rss::ChannelBuilder;

let webmaster = "chris@jupiterbroadcasting.com (Chris Fisher)";

let channel = ChannelBuilder::default()
    .webmaster(webmaster.to_string())
    .finalize();

assert_eq!(Some(webmaster), channel.webmaster());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .webmaster(None)
    .finalize();

assert!(channel.webmaster().is_none());

Return the publication date for the content of this Channel.

Examples

use rss::ChannelBuilder;

let pub_date = "Sun, 13 Mar 2016 20:02:02 -0700";

let channel = ChannelBuilder::default()
    .pub_date(pub_date.to_string())
    .finalize();

assert_eq!(Some(pub_date), channel.pub_date());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .pub_date(None)
    .finalize();

assert!(channel.pub_date().is_none());

Return the time that the content of this Channel was last changed.

Examples

use rss::ChannelBuilder;

let last_build_date = "Sun, 13 Mar 2016 20:02:02 -0700";

let channel = ChannelBuilder::default()
    .last_build_date(last_build_date.to_string())
    .finalize();

assert_eq!(Some(last_build_date), channel.last_build_date());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .last_build_date(None)
    .finalize();

assert!(channel.last_build_date().is_none());

Return the categories that this Channel belongs to.

Examples

use rss::{ChannelBuilder, CategoryBuilder};

let category = CategoryBuilder::default()
    .name("Podcast")
    .finalize();

let categories = vec![category];

let channel = ChannelBuilder::default()
    .categories(categories.clone())
    .finalize();

assert_eq!(categories.as_slice(), channel.categories());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .categories(Vec::new())
    .finalize();

assert!(channel.categories().is_empty());

Return the name of the program used to generate the contents of this Channel.

Examples

use rss::ChannelBuilder;

let generator = "Feeder 2.5.12(2294); Mac OS X Version 10.9.5 (Build 13F34) \
    http://reinventedsoftware.com/feeder/";

let channel = ChannelBuilder::default()
    .generator(generator.to_string())
    .finalize();

assert_eq!(Some(generator), channel.generator());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .generator(None)
    .finalize();

assert!(channel.generator().is_none());

Return a URL that points to the documentation of the RSS format used in this Channel.

Examples

use rss::ChannelBuilder;

let docs = "http://blogs.law.harvard.edu/tech/rss/";

let channel = ChannelBuilder::default()
    .docs(docs.to_string())
    .finalize();

assert_eq!(Some(docs), channel.docs());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .docs(None)
    .finalize();

assert!(channel.docs().is_none());

Return the information used to register with a cloud for notifications of updates to the Channel.

Examples

use rss::{ChannelBuilder, CloudBuilder};

let cloud = CloudBuilder::default()
    .domain("http://rpc.sys.com/")
    .port(80)
    .path("/RPC2")
    .register_procedure("pingMe")
    .protocol("soap")
    .finalize();

let channel = ChannelBuilder::default()
    .cloud(cloud)
    .finalize();

assert!(channel.cloud().is_some());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .cloud(None)
    .finalize();

assert!(channel.cloud().is_none());

Return the time to live of this Channel. This indicates the number of minutes the Channel can be cached before needing to be refreshed.

Examples

use rss::{ChannelBuilder, Channel};

let ttl = 60;

let channel = ChannelBuilder::default()
    .ttl(ttl)
    .finalize();

assert_eq!(Some(ttl.to_string().as_str()), channel.ttl());
use rss::{ChannelBuilder, Channel};

let channel = ChannelBuilder::default()
    .ttl(None)
    .finalize();

assert!(channel.ttl().is_none());

Return the image to be displayed with this Channel.

Examples

use rss::{ChannelBuilder, ImageBuilder};

let image = ImageBuilder::default()
    .url("http://jupiterbroadcasting.com/images/LAS-300-Badge.jpg")
    .finalize();

let channel = ChannelBuilder::default()
    .image(image)
    .finalize();

assert!(channel.image().is_some());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .image(None)
    .finalize();

assert!(channel.image().is_none());

Return the PICS rating for this Channel.

Examples

use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .rating(None)
    .finalize();

assert!(channel.rating().is_none());

Return the information for a text box to be displayed with this Channel.

Examples

use rss::{ChannelBuilder, TextInputBuilder};

let text_input = TextInputBuilder::default()
    .title("Enter Comment")
    .description("Provided Feedback")
    .name("Comment")
    .link("http://www.example.com/feedback")
    .finalize();

let channel = ChannelBuilder::default()
    .text_input(text_input)
    .finalize();

assert!(channel.text_input().is_some());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .text_input(None)
    .finalize();

assert!(channel.text_input().is_none());

Return the hours that aggregators can skip for refreshing content.

Examples

use rss::ChannelBuilder;

let skip_hours = vec![6, 7, 8, 14, 22];

let channel = ChannelBuilder::default()
    .skip_hours(skip_hours.clone())
    .finalize();

let skip_hours_str = skip_hours.iter().map(|n| n.to_string()).collect::<Vec<_>>();
assert_eq!(skip_hours_str.as_slice(), channel.skip_hours());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .skip_hours(Vec::new())
    .finalize();

assert!(channel.skip_hours().is_empty());

Return the days that aggregators can skip for refreshing content.

Examples

use rss::{ChannelBuilder, Channel};

let skip_days = vec!["Monday".to_string(), "Sunday".to_string()];

let channel = ChannelBuilder::default()
    .skip_days(skip_days.clone())
    .finalize();

assert_eq!(skip_days.as_slice(), channel.skip_days());
use rss::{ChannelBuilder, Channel};

let channel = ChannelBuilder::default()
    .skip_days(Vec::new())
    .finalize();

assert!(channel.skip_days().is_empty());

Return the Items in this Channel.

Examples

use rss::{ChannelBuilder, ItemBuilder};

let title = "Making Music with Linux | LAS 408".to_string();

let item = ItemBuilder::default()
    .title(title)
    .finalize();

let items = vec![item];

let channel = ChannelBuilder::default()
    .items(items.clone())
    .finalize();

assert_eq!(items.as_slice(), channel.items());
use rss::{ChannelBuilder, Channel};

let channel = ChannelBuilder::default()
    .items(Vec::new())
    .finalize();

assert!(channel.items().is_empty());

Return the ITunesChannelExtension for this Channel.

Examples

use rss::ChannelBuilder;
use rss::extension::itunes::ITunesChannelExtensionBuilder;

let itunes_ext = ITunesChannelExtensionBuilder::default()
    .author("author".to_string())
    .finalize();

let channel = ChannelBuilder::default()
    .itunes_ext(itunes_ext)
    .finalize();

assert!(channel.itunes_ext().is_some());
use rss::ChannelBuilder;

let channel = ChannelBuilder::default()
    .itunes_ext(None)
    .finalize();

assert!(channel.itunes_ext().is_none());

Return the DublinCoreExtension for this Channel.

Return the extensions for this Channel.

Return the namespaces for this Channel.

impl Channel
[src]

Attempt to read the RSS channel from the speficied reader.

Example

let reader: BufRead = ...;
let channel = Channel::read_from(reader).unwrap();

Attempt to write the RSS channel as XML to the speficied writer.

Example

let channel: Channel = ...;
let writer: Write = ...;
channel.write_to(writer).unwrap();

Validate the contents of this Channel.

Examples

use rss::Channel;

let input = include_str!("tests/data/rss2sample.xml");
let channel = input.parse::<Channel>().unwrap();
channel.validate().unwrap();

Trait Implementations

impl Debug for Channel
[src]

Formats the value using the given formatter.

impl Default for Channel
[src]

Returns the "default value" for a type. Read more

impl Clone for Channel
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for Channel
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl ToString for Channel
[src]

Converts the given value to a String. Read more

impl FromStr for Channel
[src]

The associated error which can be returned from parsing.

Attempt to read the RSS channel from the speficied str.