// Wiki.cs
//
// Copyright (C) 2008 Amr Hassan
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
//
using System;
using System.Xml;
namespace Lastfm.Services
{
///
/// An abstract wiki object.
///
public abstract class Wiki : Base
{
private string prefix {get; set;}
internal Wiki(string prefix, Session session)
:base(session)
{
this.prefix = prefix;
}
///
/// Returns the date that the current version of the wiki was published on.
///
///
/// A
///
public DateTime GetPublishedDate()
{
XmlDocument doc = request(prefix + ".getInfo");
return DateTime.Parse(extract(doc, "published"));
}
///
/// Returns the summary of the content.
///
///
/// A
///
public string GetSummary()
{
// TODO: Clean the string before return
XmlDocument doc = request(prefix + ".getInfo");
return extract(doc, "summary");
}
///
/// Returns the entire content of the current version.
///
///
/// A
///
public string getContent()
{
// FIXME: Clean the string first
XmlDocument doc = request(prefix + ".getInfo");
return extract(doc, "content");
}
}
}