banshee r3232 - in trunk/musicbrainz-sharp/src/MusicBrainz: . MusicBrainz



Author: scottp
Date: Wed Feb 13 05:36:14 2008
New Revision: 3232
URL: http://svn.gnome.org/viewvc/banshee?rev=3232&view=rev

Log:
* src/MusicBrainz/MusicBrainz/Label.cs,
  src/MusicBrainz/MusicBrainz/Release.cs,
  src/MusicBrainz/MusicBrainz/Track.cs,
  src/MusicBrainz/MusicBrainz/Artist.cs: Got rid of Query*Single
  methods.
* src/MusicBrainz/MusicBrainz/Query.cs: Fancy new methods and
  operators.

Modified:
   trunk/musicbrainz-sharp/src/MusicBrainz/ChangeLog
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs
   trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Artist.cs	Wed Feb 13 05:36:14 2008
@@ -192,15 +192,6 @@
             return new Query<Artist>(EXTENSION, QueryLimit, CreateNameParameter(name));
         }
 
-        public static Artist QuerySingle(string name)
-        {
-            if(name == null)
-                throw new ArgumentNullException("name");
-            
-            Query<Artist> artists = new Query<Artist>(EXTENSION, 1, CreateNameParameter(name));
-            return artists.Count > 0 ? artists[0] : null;
-        }
-
         public static Query<Artist> QueryLucene(string lucene_query)
         {
             if(lucene_query == null)
@@ -209,15 +200,6 @@
             return new Query<Artist>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
-        public static Artist QueryLuceneSingle(string lucene_query)
-        {
-            if(lucene_query == null)
-                throw new ArgumentNullException("lucene_query");
-            
-            Query<Artist> artists = new Query<Artist>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
-            return artists.Count > 0 ? artists[0] : null;
-        }
-
         #endregion
 
         public static implicit operator string(Artist a)

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Label.cs	Wed Feb 13 05:36:14 2008
@@ -111,15 +111,6 @@
             return new Query<Label>(EXTENSION, QueryLimit, CreateNameParameter(name));
         }
 
-        public static Label QuerySingle(string name)
-        {
-            if(name == null)
-                throw new ArgumentNullException("name");
-            
-            Query<Label> labels = new Query<Label>(EXTENSION, 1, CreateNameParameter(name));
-            return labels.Count > 0 ? labels[0] : null;
-        }
-
         public static Query<Label> QueryLucene(string lucene_query)
         {
             if(lucene_query == null)
@@ -128,15 +119,6 @@
             return new Query<Label>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
-        public static Label QueryLuceneSingle(string lucene_query)
-        {
-            if(lucene_query == null)
-                throw new ArgumentNullException("lucene_query");
-            
-            Query<Label> labels = new Query<Label>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
-            return labels.Count > 0 ? labels[0] : null;
-        }
-
         #endregion
 
         public static implicit operator string(Label l)

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Query.cs	Wed Feb 13 05:36:14 2008
@@ -105,6 +105,25 @@
         {
             return GetEnumerator();
         }
+        
+        public IEnumerable<T> Best()
+        {
+            return Best(100);
+        }
+        
+        public IEnumerable<T> Best(int score)
+        {
+            foreach(T result in this) {
+                if(result.Score < score)
+                    yield break;
+                yield return result;
+            }
+        }
+        
+        public static implicit operator T(Query<T> query)
+        {
+            return query.Count > 0 ? query[0] : null;
+        }
     }
 
     [AttributeUsage(AttributeTargets.Property)]

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Release.cs	Wed Feb 13 05:36:14 2008
@@ -378,47 +378,14 @@
             return new Query<Release>(EXTENSION, QueryLimit, parameters.ToString());
         }
 
-        public static Release QuerySingle(string title)
-        {
-            if(title == null)
-                throw new ArgumentNullException("title");
-            
-            ReleaseQueryParameters parameters = new ReleaseQueryParameters();
-            parameters.Title = title;
-            return QuerySingle(parameters);
-        }
-
-        public static Release QuerySingle(string title, string artist)
-        {
-            if(title == null)
-                throw new ArgumentNullException("title");
-            
-            if(artist == null)
-                throw new ArgumentNullException("artist");
-            
-            ReleaseQueryParameters parameters = new ReleaseQueryParameters();
-            parameters.Title = title;
-            parameters.Artist = artist;
-            return QuerySingle(parameters);
-        }
-
-        public static Release QuerySingle(ReleaseQueryParameters parameters)
-        {
-            if(parameters == null)
-                throw new ArgumentNullException("parameters");
-            
-            Query<Release> releases = new Query<Release>(EXTENSION, 1, parameters.ToString());
-            return releases.Count > 0 ? releases[0] : null;
-        }
-
-        public static Release QueryFromDeviceSingle(string device)
+        public static Release QueryFromDevice(string device)
         {
             if(device == null)
                 throw new ArgumentNullException("device");
             
             ReleaseQueryParameters parameters = new ReleaseQueryParameters();
             parameters.DiscID = Disc.GetFromDevice(device).ID;
-            return QuerySingle(parameters);
+            return Query(parameters);
         }
 
         public static Query<Release> QueryLucene(string lucene_query)
@@ -429,15 +396,6 @@
             return new Query<Release>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
-        public static Release QueryLuceneSingle(string lucene_query)
-        {
-            if(lucene_query == null)
-                throw new ArgumentNullException("lucene_query");
-            
-            Query<Release> releases = new Query<Release>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
-            return releases.Count > 0 ? releases[0] : null;
-        }
-
         #endregion
 
         public static implicit operator string(Release r)

Modified: trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs
==============================================================================
--- trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs	(original)
+++ trunk/musicbrainz-sharp/src/MusicBrainz/MusicBrainz/Track.cs	Wed Feb 13 05:36:14 2008
@@ -256,39 +256,6 @@
             return new Query<Track>(EXTENSION, QueryLimit, parameters.ToString());
         }
 
-        public static Track QuerySingle(string title)
-        {
-            if(title == null)
-                throw new ArgumentNullException("title");
-            
-            TrackQueryParameters parameters = new TrackQueryParameters();
-            parameters.Title = title;
-            return QuerySingle(parameters);
-        }
-
-        public static Track QuerySingle(string title, string artist)
-        {
-            if(title == null)
-                throw new ArgumentNullException("title");
-            
-            if(artist == null)
-                throw new ArgumentNullException("artist");
-            
-            TrackQueryParameters parameters = new TrackQueryParameters();
-            parameters.Artist = artist;
-            parameters.Title = title;
-            return QuerySingle(parameters);
-        }
-
-        public static Track QuerySingle(TrackQueryParameters parameters)
-        {
-            if(parameters == null)
-                throw new ArgumentNullException("parameters");
-            
-            Query<Track> tracks = new Query<Track>(EXTENSION, 1, parameters.ToString());
-            return tracks.Count > 0 ? tracks[0] : null;
-        }
-
         public static Query<Track> QueryLucene(string lucene_query)
         {
             if(lucene_query == null)
@@ -297,15 +264,6 @@
             return new Query<Track>(EXTENSION, QueryLimit, CreateLuceneParameter(lucene_query));
         }
 
-        public static Track QueryLuceneSingle(string lucene_query)
-        {
-            if(lucene_query == null)
-                throw new ArgumentNullException("lucene_query");
-            
-            Query<Track> tracks = new Query<Track>(EXTENSION, 1, CreateLuceneParameter(lucene_query));
-            return tracks.Count > 0 ? tracks[0] : null;
-        }
-
         #endregion
 
         public static implicit operator string(Track t)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]