[banshee: 24/61] [InternetArchive] Major refactor and reorg
- From: Gabriel Burt <gburt src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [banshee: 24/61] [InternetArchive] Major refactor and reorg
- Date: Tue, 3 Nov 2009 06:29:51 +0000 (UTC)
commit 5f3c3179fac7922d17acc6308a1b886a532e48de
Author: Gabriel Burt <gabriel burt gmail com>
Date: Sat Oct 10 15:54:40 2009 -0700
[InternetArchive] Major refactor and reorg
Clearly distinguish between Search objects and Details objects in class
naming. Move the not-Banshee-specific Banshee.InternetArchive/Item.cs
code to InternetArchive/Details.cs.
.../Banshee.InternetArchive/Actions.cs | 2 +-
.../{ItemSource.cs => DetailsSource.cs} | 12 ++--
...mSourceContents.cs => DetailsSourceContents.cs} | 12 ++--
.../Banshee.InternetArchive/Source.cs | 34 ++++----
.../Item.cs => InternetArchive/Details.cs} | 62 ++++++++++---
.../InternetArchive/{File.cs => DetailsFile.cs} | 6 +-
.../{Review.cs => DetailsReview.cs} | 6 +-
.../InternetArchive/JsonItem.cs | 51 -----------
.../InternetArchive/Results.cs | 47 ----------
.../InternetArchive/ResultsFormat.cs | 45 ---------
.../InternetArchive/Search.cs | 7 +-
.../InternetArchive/{Item.cs => SearchResult.cs} | 94 ++++++++++---------
.../{JsonResults.cs => SearchResults.cs} | 56 ++++++++----
src/Extensions/Banshee.InternetArchive/Makefile.am | 27 +++---
14 files changed, 184 insertions(+), 277 deletions(-)
---
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Actions.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Actions.cs
index 7f0aa90..aa14124 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Actions.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Actions.cs
@@ -47,7 +47,7 @@ namespace Banshee.InternetArchive
if (item != null && item.Uri != null) {
string [] bits = item.Uri.AbsoluteUri.Split ('/');
string id = bits[bits.Length - 1];
- var src = new ItemSource (item.TrackTitle, id);
+ var src = new DetailsSource (item.TrackTitle, id);
source.AddChildSource (src);
Banshee.ServiceStack.ServiceManager.SourceManager.SetActiveSource (src);
}
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSource.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSource.cs
similarity index 91%
rename from src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSource.cs
rename to src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSource.cs
index 39232cf..dd55e45 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSource.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSource.cs
@@ -1,5 +1,5 @@
//
-// ItemSource.cs
+// DetailsSource.cs
//
// Authors:
// Gabriel Burt <gburt novell com>
@@ -53,18 +53,18 @@ using IA=InternetArchive;
namespace Banshee.InternetArchive
{
- public class ItemSource : Banshee.Sources.Source, ITrackModelSource, IDurationAggregator, IFileSizeAggregator
+ public class DetailsSource : Banshee.Sources.Source, ITrackModelSource, IDurationAggregator, IFileSizeAggregator
{
- private Item item;
+ private IA.Details item;
private MemoryTrackListModel track_model;
- public ItemSource (string name, string id) : base (name, name, 40, "internet-archive-" + id)
+ public DetailsSource (string name, string id) : base (name, name, 40, "internet-archive-" + id)
{
- item = Item.LoadOrCreate (id, name);
+ item = IA.Details.LoadOrCreate (id, name);
track_model = new MemoryTrackListModel ();
track_model.Reloaded += delegate { OnUpdated (); };
- Properties.Set<Gtk.Widget> ("Nereid.SourceContents", new ItemSourceContents (this, item));
+ Properties.Set<Gtk.Widget> ("Nereid.SourceContents", new DetailsSourceContents (this, item));
}
public void Reload ()
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSourceContents.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSourceContents.cs
similarity index 97%
rename from src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSourceContents.cs
rename to src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSourceContents.cs
index dd19ec3..5dbe8aa 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/ItemSourceContents.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/DetailsSourceContents.cs
@@ -1,5 +1,5 @@
//
-// ItemSourceContents.cs
+// DetailsSourceContents.cs
//
// Authors:
// Gabriel Burt <gburt novell com>
@@ -59,12 +59,12 @@ using IA=InternetArchive;
namespace Banshee.InternetArchive
{
- public class ItemSourceContents : Gtk.HBox, Banshee.Sources.Gui.ISourceContents
+ public class DetailsSourceContents : Gtk.HBox, Banshee.Sources.Gui.ISourceContents
{
- private ItemSource source;
- Item item;
+ private DetailsSource source;
+ IA.Details item;
- public ItemSourceContents (ItemSource source, Item item)
+ public DetailsSourceContents (DetailsSource source, IA.Details item)
{
this.source = source;
this.item = item;
@@ -81,7 +81,7 @@ namespace Banshee.InternetArchive
public bool SetSource (ISource source)
{
- this.source = source as ItemSource;
+ this.source = source as DetailsSource;
return this.source != null;
}
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Source.cs b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Source.cs
index 6d3872a..2f0ee08 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Source.cs
+++ b/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Source.cs
@@ -69,9 +69,7 @@ namespace Banshee.InternetArchive
IA.Search.UserAgent = Banshee.Web.Browser.UserAgent;
IA.Search.TimeoutMs = 12*1000;
- search = new IA.Search () {
- Format = IA.ResultsFormat.Json
- };
+ search = new IA.Search ();
IsLocal = false;
// TODO Should probably support normal playlists at some point (but not smart playlists)
@@ -134,7 +132,7 @@ namespace Banshee.InternetArchive
}
if (ApplicationContext.CommandLine.Contains ("internet-archive-offline-mode")) {
- AddChildSource (new ItemSource ("Local H Live at Levis L2 Lazer Rock Stage [Summerfest 1999] on 1999-06-24", "banshee-internet-archive-offline-mode"));
+ AddChildSource (new DetailsSource ("Local H Live at Levis L2 Lazer Rock Stage [Summerfest 1999] on 1999-06-24", "banshee-internet-archive-offline-mode"));
}
}
@@ -153,10 +151,10 @@ namespace Banshee.InternetArchive
SetStatus (Catalog.GetString ("Searching the Internet Archive"), false, true, "gtk-find");
});
- IA.JsonResults results = null;
+ IA.SearchResults results = null;
try {
- results = new IA.JsonResults (search.GetResults ());
+ results = search.GetResults ();
total_results = results.TotalResults;
} catch (System.Net.WebException e) {
Hyena.Log.Exception ("Error searching the Internet Archive", e);
@@ -173,22 +171,22 @@ namespace Banshee.InternetArchive
ServiceManager.DbConnection.Execute ("DELETE FROM CoreTracks WHERE PrimarySourceID = ?", this.DbId);
DatabaseTrackModel.Clear ();
- foreach (var item in results.Items) {
+ foreach (var result in results) {
var track = new DatabaseTrackInfo () {
PrimarySource = this,
- ArtistName = item.GetJoined (IA.Field.Creator, ", ") ?? "",
- Comment = Hyena.StringUtil.RemoveHtml (item.Get<string> (IA.Field.Description)),
- Composer = item.GetJoined (IA.Field.Publisher, ", ") ?? "",
- LicenseUri = item.Get<string> (IA.Field.LicenseUrl),
- PlayCount = (int) item.Get<double> (IA.Field.Downloads),
- Rating = (int) Math.Round (item.Get<double> (IA.Field.AvgRating)),
- TrackTitle = item.Get<string> (IA.Field.Title),
- Uri = new Banshee.Base.SafeUri (item.WebpageUrl),
- MimeType = item.GetJoined (IA.Field.Format, ", "),
- //MimeType = item.GetJoined (IA.Field.MediaType, ", "),
- Year = (int) item.Get<double> (IA.Field.Year)
+ ArtistName = result.Creator ?? "",
+ Comment = Hyena.StringUtil.RemoveHtml (result.Description),
+ Composer = result.Publisher ?? "",
+ LicenseUri = result.LicenseUrl,
+ PlayCount = result.Downloads,
+ Rating = (int) Math.Round (result.AvgRating),
+ TrackTitle = result.Title,
+ Uri = new Banshee.Base.SafeUri (result.WebpageUrl),
+ MimeType = result.Format,
+ Year = result.Year
};
+ // HACK to remove ugly empty description
if (track.Comment == "There is currently no description for this item.")
track.Comment = null;
diff --git a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Item.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/Details.cs
similarity index 78%
rename from src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Item.cs
rename to src/Extensions/Banshee.InternetArchive/InternetArchive/Details.cs
index 46374bf..9134896 100644
--- a/src/Extensions/Banshee.InternetArchive/Banshee.InternetArchive/Item.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/Details.cs
@@ -1,5 +1,5 @@
//
-// Item.cs
+// Details.cs
//
// Authors:
// Gabriel Burt <gburt novell com>
@@ -27,6 +27,8 @@
//
using System;
+using System.IO;
+using System.Net;
using System.Collections.Generic;
using System.Linq;
@@ -34,27 +36,24 @@ using Mono.Unix;
using Hyena.Json;
-using InternetArchive;
-using IA=InternetArchive;
-
-namespace Banshee.InternetArchive
+namespace InternetArchive
{
- public class Item
+ public class Details
{
JsonObject details;
JsonObject metadata, misc, item, review_info;
JsonArray reviews;
- public static Item LoadOrCreate (string id, string title)
+ public static Details LoadOrCreate (string id, string title)
{
/*var item = Provider.LoadFromId (id);
if (item != null)
return item;*/
- return new Item (id, title);
+ return new Details (id, title);
}
- private Item (string id, string title)
+ private Details (string id, string title)
{
Id = id;
Title = title;
@@ -165,24 +164,24 @@ namespace Banshee.InternetArchive
return DateTime.MinValue;
}
- public IEnumerable<File> Files {
+ public IEnumerable<DetailsFile> Files {
get {
string location_root = String.Format ("http://{0}{1}", details.Get<string> ("server"), details.Get<string> ("dir"));
var files = details["files"] as JsonObject;
foreach (JsonObject file in files.Values) {
- yield return new File (file, location_root);
+ yield return new DetailsFile (file, location_root);
}
}
}
- public IEnumerable<Review> Reviews {
+ public IEnumerable<DetailsReview> Reviews {
get {
if (reviews == null) {
yield break;
}
foreach (JsonObject review in reviews) {
- yield return new Review (review);
+ yield return new DetailsReview (review);
}
}
}
@@ -216,7 +215,7 @@ namespace Banshee.InternetArchive
details = new Hyena.Json.Deserializer (System.IO.File.ReadAllText ("item2.json")).Deserialize () as JsonObject;
} else {
// We don't; grab it from archive.org and parse it
- string json_str = IA.Item.GetDetails (Id);
+ string json_str = GetDetails (Id);
if (json_str != null) {
details = new Hyena.Json.Deserializer (json_str).Deserialize () as JsonObject;
@@ -237,5 +236,40 @@ namespace Banshee.InternetArchive
return false;
}
+
+ private static string GetDetails (string id)
+ {
+ HttpWebResponse response = null;
+ string url = String.Format ("http://www.archive.org/details/{0}&output=json", id);
+
+ try {
+ Hyena.Log.Debug ("ArchiveSharp Getting Details", url);
+
+ var request = (HttpWebRequest) WebRequest.Create (url);
+ request.UserAgent = Search.UserAgent;
+ request.Timeout = Search.TimeoutMs;
+ request.KeepAlive = Search.KeepAlive;
+
+ response = (HttpWebResponse) request.GetResponse ();
+
+ if (response.StatusCode != HttpStatusCode.OK) {
+ return null;
+ }
+
+ using (Stream stream = response.GetResponseStream ()) {
+ using (StreamReader reader = new StreamReader (stream)) {
+ return reader.ReadToEnd ();
+ }
+ }
+ } finally {
+ if (response != null) {
+ if (response.StatusCode != HttpStatusCode.OK) {
+ Hyena.Log.WarningFormat ("Got status {0} searching {1}", response.StatusCode, url);
+ }
+ response.Close ();
+ response = null;
+ }
+ }
+ }
}
}
diff --git a/src/Extensions/Banshee.InternetArchive/InternetArchive/File.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsFile.cs
similarity index 95%
rename from src/Extensions/Banshee.InternetArchive/InternetArchive/File.cs
rename to src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsFile.cs
index 6b26bd1..d8a41f9 100644
--- a/src/Extensions/Banshee.InternetArchive/InternetArchive/File.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsFile.cs
@@ -1,5 +1,5 @@
//
-// File.cs
+// DetailsFile.cs
//
// Authors:
// Gabriel Burt <gburt novell com>
@@ -36,12 +36,12 @@ using Hyena.Json;
namespace InternetArchive
{
- public class File
+ public class DetailsFile
{
JsonObject file;
string location_root;
- public File (JsonObject file, string location_root)
+ public DetailsFile (JsonObject file, string location_root)
{
this.file = file;
this.location_root = location_root;
diff --git a/src/Extensions/Banshee.InternetArchive/InternetArchive/Review.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsReview.cs
similarity index 95%
rename from src/Extensions/Banshee.InternetArchive/InternetArchive/Review.cs
rename to src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsReview.cs
index 6e25482..789bb68 100644
--- a/src/Extensions/Banshee.InternetArchive/InternetArchive/Review.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/DetailsReview.cs
@@ -1,5 +1,5 @@
//
-// Review.cs
+// DetailsReview.cs
//
// Authors:
// Gabriel Burt <gburt novell com>
@@ -36,11 +36,11 @@ using Hyena.Json;
namespace InternetArchive
{
- public class Review
+ public class DetailsReview
{
JsonObject review;
- public Review (JsonObject review)
+ public DetailsReview (JsonObject review)
{
this.review = review;
}
diff --git a/src/Extensions/Banshee.InternetArchive/InternetArchive/Search.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/Search.cs
index fff2967..3d54c45 100644
--- a/src/Extensions/Banshee.InternetArchive/InternetArchive/Search.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/Search.cs
@@ -40,7 +40,6 @@ namespace InternetArchive
public IList<Field> ReturnFields { get { return result_fields; } }
public IList<Sort> Sorts { get { return sorts; } }
- public ResultsFormat Format { get; set; }
public string Query { get; set; }
static Search () {
@@ -87,13 +86,13 @@ namespace InternetArchive
}
sb.AppendFormat ("&rows={0}", NumResults);
- sb.AppendFormat ("&fmt={0}", Format.Id);
+ sb.AppendFormat ("&fmt={0}", "json");
sb.Append ("&xmlsearch=Search");
return sb.ToString ();
}
- public string GetResults ()
+ public SearchResults GetResults ()
{
HttpWebResponse response = null;
string url = null;
@@ -115,7 +114,7 @@ namespace InternetArchive
using (Stream stream = response.GetResponseStream ()) {
using (StreamReader reader = new StreamReader (stream)) {
- return reader.ReadToEnd ();
+ return new SearchResults (reader.ReadToEnd ());
}
}
} finally {
diff --git a/src/Extensions/Banshee.InternetArchive/InternetArchive/Item.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResult.cs
similarity index 50%
rename from src/Extensions/Banshee.InternetArchive/InternetArchive/Item.cs
rename to src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResult.cs
index b8d6455..2187695 100644
--- a/src/Extensions/Banshee.InternetArchive/InternetArchive/Item.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResult.cs
@@ -1,5 +1,5 @@
//
-// Item.cs
+// SearchResult.cs
//
// Author:
// Gabriel Burt <gabriel burt gmail com>
@@ -30,22 +30,17 @@ using System.Net;
using System.Linq;
using System.Collections.Generic;
+using Hyena.Json;
+
namespace InternetArchive
{
- public abstract class Item
+ public sealed class SearchResult
{
- public Item ()
- {
- }
+ JsonObject item;
- public string GetJoined (Field field, string with)
+ internal SearchResult (JsonObject item)
{
- var ary = Get<System.Collections.IEnumerable> (field);
- if (ary != null) {
- return String.Join (with, ary.Cast<object> ().Select (o => o.ToString ()).ToArray ());
- }
-
- return null;
+ this.item = item;
}
public string Id {
@@ -56,41 +51,50 @@ namespace InternetArchive
get { return String.Format ("http://www.archive.org/details/{0}", Id); }
}
- public static string GetDetails (string id)
+ public string Creator {
+ get { return GetJoined (Field.Creator, ", ") ?? ""; }
+ }
+
+ public string Description {
+ get { return Hyena.StringUtil.RemoveHtml (Get<string> (Field.Description)); }
+ }
+
+ public string Publisher {
+ get { return GetJoined (Field.Publisher, ", ") ?? ""; }
+ }
+
+ public string LicenseUrl {
+ get { return Get<string> (Field.LicenseUrl); }
+ }
+
+ public int Downloads {
+ get { return (int) Get<double> (Field.Downloads); }
+ }
+
+ public double AvgRating {
+ get { return Get<double> (Field.AvgRating); }
+ }
+
+ public string Title {
+ get { return Get<string> (Field.Title); }
+ }
+
+ public string Format {
+ get { return GetJoined (Field.Format, ", "); }
+ }
+
+ public int Year {
+ get { return (int) Get<double> (Field.Year); }
+ }
+
+ public T Get<T> (Field field)
{
- HttpWebResponse response = null;
- string url = String.Format ("http://www.archive.org/details/{0}&output=json", id);
-
- try {
- Hyena.Log.Debug ("ArchiveSharp Getting Details", url);
-
- var request = (HttpWebRequest) WebRequest.Create (url);
- request.UserAgent = Search.UserAgent;
- request.Timeout = Search.TimeoutMs;
- request.KeepAlive = Search.KeepAlive;
-
- response = (HttpWebResponse) request.GetResponse ();
-
- if (response.StatusCode != HttpStatusCode.OK) {
- return null;
- }
-
- using (Stream stream = response.GetResponseStream ()) {
- using (StreamReader reader = new StreamReader (stream)) {
- return reader.ReadToEnd ();
- }
- }
- } finally {
- if (response != null) {
- if (response.StatusCode != HttpStatusCode.OK) {
- Hyena.Log.WarningFormat ("Got status {0} searching {1}", response.StatusCode, url);
- }
- response.Close ();
- response = null;
- }
- }
+ return item.Get<T> (field.Id);
}
- public abstract T Get<T> (Field field);
+ public string GetJoined (Field field, string with)
+ {
+ return item.GetJoined (field.Id, with);
+ }
}
}
diff --git a/src/Extensions/Banshee.InternetArchive/InternetArchive/JsonResults.cs b/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResults.cs
similarity index 51%
rename from src/Extensions/Banshee.InternetArchive/InternetArchive/JsonResults.cs
rename to src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResults.cs
index a8a836b..095ffb0 100644
--- a/src/Extensions/Banshee.InternetArchive/InternetArchive/JsonResults.cs
+++ b/src/Extensions/Banshee.InternetArchive/InternetArchive/SearchResults.cs
@@ -1,5 +1,5 @@
//
-// JsonResults.cs
+// SearchResults.cs
//
// Author:
// Gabriel Burt <gabriel burt gmail com>
@@ -28,41 +28,59 @@ using System;
using System.IO;
using System.Net;
using System.Linq;
+using System.Collections;
using System.Collections.Generic;
using Hyena.Json;
namespace InternetArchive
{
- public class JsonResults : Results
+ public sealed class SearchResults : IEnumerable<SearchResult>
{
- JsonObject response_header;
- JsonObject response_header_params;
+ JsonArray results;
- JsonObject response;
- JsonArray response_docs;
+ public int TotalResults { get; private set; }
+ public int Count { get; private set; }
+ public int Offset { get; private set; }
- public JsonResults (string resultsString)
+ public SearchResults (string resultsString)
{
var json = new Deserializer (resultsString).Deserialize () as JsonObject;
- response_header = (JsonObject) json["responseHeader"];
- response_header_params = (JsonObject) response_header["params"];
+ var response_header = json.Get<JsonObject> ("responseHeader");
+ if (response_header != null) {
+ var response_header_params = response_header.Get<JsonObject> ("params");
- response = (JsonObject) json["response"];
- response_docs = (JsonArray) response["docs"];
+ Count = response_header_params.Get<int> ("rows");
+ }
+
+ var response = json.Get<JsonObject> ("response");
+ if (response != null) {
+ results = response.Get<JsonArray> ("docs");
- TotalResults = (int) (double) response["numFound"];
- Offset = (int) (double) response["start"];
- Count = Int32.Parse (response_header_params["rows"] as string);
+ TotalResults = (int) response.Get<double> ("numFound");
+ Offset = (int) response.Get<double> ("start");
+ }
}
- public override IEnumerable<Item> Items {
- get {
- foreach (object obj in response_docs) {
- yield return new JsonItem ((JsonObject) obj);
- }
+ /*public IEnumerable GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }*/
+
+ public IEnumerator<SearchResult> GetEnumerator ()
+ {
+ if (results == null)
+ yield break;
+
+ foreach (JsonObject obj in results) {
+ yield return new SearchResult (obj);
}
}
+
+ IEnumerator IEnumerable.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
}
}
diff --git a/src/Extensions/Banshee.InternetArchive/Makefile.am b/src/Extensions/Banshee.InternetArchive/Makefile.am
index f65c741..cc1f7cb 100644
--- a/src/Extensions/Banshee.InternetArchive/Makefile.am
+++ b/src/Extensions/Banshee.InternetArchive/Makefile.am
@@ -4,26 +4,23 @@ LINK = $(REF_EXTENSION_INTERNETARCHIVE)
INSTALL_DIR = $(EXTENSIONS_INSTALL_DIR)
SOURCES = \
+ Banshee.InternetArchive/Actions.cs \
+ Banshee.InternetArchive/DetailsSource.cs \
+ Banshee.InternetArchive/DetailsSourceContents.cs \
+ Banshee.InternetArchive/HeaderFilters.cs \
+ Banshee.InternetArchive/Source.cs \
InternetArchive/Collection.cs \
+ InternetArchive/Details.cs \
+ InternetArchive/DetailsFile.cs \
+ InternetArchive/DetailsReview.cs \
InternetArchive/Field.cs \
InternetArchive/FieldValue.cs \
- InternetArchive/File.cs \
+ InternetArchive/JsonExtensions.cs \
InternetArchive/MediaType.cs \
- InternetArchive/ResultsFormat.cs \
InternetArchive/Search.cs \
- InternetArchive/Results.cs \
- InternetArchive/Review.cs \
- InternetArchive/Item.cs \
- InternetArchive/JsonExtensions.cs \
- InternetArchive/JsonItem.cs \
- InternetArchive/JsonResults.cs \
- InternetArchive/Sort.cs \
- Banshee.InternetArchive/Actions.cs \
- Banshee.InternetArchive/Item.cs \
- Banshee.InternetArchive/ItemSource.cs \
- Banshee.InternetArchive/ItemSourceContents.cs \
- Banshee.InternetArchive/HeaderFilters.cs \
- Banshee.InternetArchive/Source.cs
+ InternetArchive/SearchResult.cs \
+ InternetArchive/SearchResults.cs \
+ InternetArchive/Sort.cs
RESOURCES = \
Banshee.InternetArchive.addin.xml \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]