Author: gonzalo
Date: 2005-03-17 22:34:17 -0500 (Thu, 17 Mar 2005)
New Revision: 41971
Modified:
trunk/monologue/ChangeLog
trunk/monologue/worker/monologue-worker.cs
Log:
2005-03-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
* worker/monologue-worker.cs: group requests by URL.
Modified: trunk/monologue/ChangeLog
===================================================================
--- trunk/monologue/ChangeLog 2005-03-18 00:40:21 UTC (rev 41970)
+++ trunk/monologue/ChangeLog 2005-03-18 03:34:17 UTC (rev 41971)
@@ -1,3 +1,7 @@
+2005-03-17 Gonzalo Paniagua Javier <[EMAIL PROTECTED]>
+
+ * worker/monologue-worker.cs: group requests by URL.
+
2005-03-13 Mark Crichton <[EMAIL PROTECTED]>
* worker/blogger.xml: changed the URL. Don't think people would be
Modified: trunk/monologue/worker/monologue-worker.cs
===================================================================
--- trunk/monologue/worker/monologue-worker.cs 2005-03-18 00:40:21 UTC (rev
41970)
+++ trunk/monologue/worker/monologue-worker.cs 2005-03-18 03:34:17 UTC (rev
41971)
@@ -91,7 +91,7 @@
bool somethingChanged = false;
int [] counters = new int [(int) UpdateStatus.MAX];
- foreach (Blogger b in bloggers.Bloggers) {
+ foreach (Blogger b in bloggers.BloggersByUrl) {
UpdateStatus st;
b.Feed = FeedCache.Read (b.Name, b.RssUrl, out st);
b.UpdateFeed ();
@@ -117,7 +117,7 @@
ArrayList stories = new ArrayList ();
DateTime minPubDate = DateTime.Now.AddDays (-14);
- foreach (Blogger b in bloggers.Bloggers) {
+ foreach (Blogger b in bloggers.BloggersByUrl) {
if (b.Channel == null) continue;
foreach (RssItem i in b.Channel.Items) {
if (i.PubDate >= minPubDate) {
@@ -240,6 +240,7 @@
}
ArrayList bloggers;
+ ArrayList bloggersByUrl;
Hashtable idToBlogger;
[XmlElement ("Blogger", typeof (Blogger))]
public ArrayList Bloggers {
@@ -254,19 +255,36 @@
idToBlogger.Add (b.ID, b);
}
}
-
+
+ public ArrayList BloggersByUrl {
+ get {
+ if (bloggersByUrl == null) {
+ bloggersByUrl = new ArrayList (bloggers);
+ bloggersByUrl.Sort (new UrlComparer ());
+ }
+ return bloggersByUrl;
+ }
+ }
+
public Blogger this [string id] {
get {
return (Blogger)idToBlogger [id];
}
}
-
+
public class BloggerComparer : IComparer {
int IComparer.Compare (object x, object y)
{
return String.Compare (((Blogger)x).Name,
((Blogger)y).Name);
}
}
+
+ public class UrlComparer : IComparer {
+ int IComparer.Compare (object x, object y)
+ {
+ return String.Compare (((Blogger)x).RssUrl,
((Blogger)y).RssUrl);
+ }
+ }
}
public enum UpdateStatus {
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches