I didn't find a product for Monologue on BNC so here's the patch. Please review, can I commit?

Thanks,

        Andres

--
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 99902)
+++ ChangeLog	(working copy)
@@ -1,5 +1,14 @@
 2008-03-11  Andrés G. Aragoneses <[EMAIL PROTECTED]>
 
+	* worker/monologue-worker.cs: Support absolute URLs for heads,
+	use String.Empty instead of "", and fix some indentation.
+	* worker/default.tpl: move local path for heads into the .cs
+	file in order to support absolute URLs.
+	* worker/Makefile: Use gmcs, since now we use String.IsNullOrEmpty
+	and Uri.IsAbsoluteUri.
+
+2008-03-11  Andrés G. Aragoneses <[EMAIL PROTECTED]>
+
 	* worker/bloggers.xml: Corrected the accent (HTMLish).
 
 2008-03-11  Andrés G. Aragoneses <[EMAIL PROTECTED]>
Index: worker/monologue-worker.cs
===================================================================
--- worker/monologue-worker.cs	(revision 99902)
+++ worker/monologue-worker.cs	(working copy)
@@ -206,6 +206,20 @@
 	static string error_msg = "<div class='ircnick' style='color:red'>Error retrieving/loading feed</div>";
 	static string date_error_msg = "<div class='ircnick' style='color:red'>Invalid dates in feed</div>";
 	static string error_img = "<img src='images/error.png' alt='Error retrieving/loading feed'>";
+	
+	static string ProcessHeadEntryAndReturnUrl(string head)
+	{
+		string localHeadsPath = "images/heads/";
+		
+		if (String.IsNullOrEmpty(head))
+			head = "none.png";
+		
+		if (!((new Uri(head, UriKind.RelativeOrAbsolute)).IsAbsoluteUri))
+			head = localHeadsPath + head;
+		
+		return head;
+	}
+	
 	static void Render ()
 	{
 		Template tpl = new Template("default.tpl");
@@ -216,16 +230,13 @@
 			tpl.setField ("BLOGGER_ERROR_IMG", b.Error || b.DateError ? error_img : "");
 			tpl.setField ("BLOGGER_URL", b.HtmlUrl.ToString ());
 			tpl.setField ("BLOGGER_NAME", b.Name);
-	
-			if (b.Head != null)
-				tpl.setField ("BLOGGER_HEAD", b.Head);
-			else
-				tpl.setField ("BLOGGER_HEAD", "none.png");
 
+			tpl.setField ("BLOGGER_HEAD", ProcessHeadEntryAndReturnUrl(b.Head));
+
 			if (b.IrcNick != null)
-					tpl.setField ("BLOGGER_IRCNICK", b.IrcNick);
-				else
-					tpl.setField ("BLOGGER_IRCNICK", "");
+				tpl.setField ("BLOGGER_IRCNICK", b.IrcNick);
+			else
+				tpl.setField ("BLOGGER_IRCNICK", String.Empty);
 
 			tpl.setField ("BLOGGER_RSSURL", b.RssUrl);
 			
@@ -251,10 +262,7 @@
 					else
 						tpl.setField ("ENTRY_PERSON_IRCNICK", "");
 					
-					if (bl.Head != null)
-						tpl.setField ("ENTRY_PERSON_HEAD", bl.Head);
-					else
-						tpl.setField ("ENTRY_PERSON_HEAD", "none.png");
+					tpl.setField ("ENTRY_PERSON_HEAD", ProcessHeadEntryAndReturnUrl(bl.Head));
 
 					tpl.setField ("ENTRY_PERSON_URL", bl.HtmlUrl.ToString());
 				} else {
Index: worker/default.tpl
===================================================================
--- worker/default.tpl	(revision 99902)
+++ worker/default.tpl	(working copy)
@@ -29,7 +29,7 @@
 	<div class="entry">
 		<div class="person-info">
 		<a href="@@ENTRY_PERSON_URL@@">
-			<img class="face" src="images/heads/@@ENTRY_PERSON_HEAD@@" alt="@@ENTRY_PERSON_IRCNICK@@"/>
+			<img class="face" src="@@ENTRY_PERSON_HEAD@@" alt="@@ENTRY_PERSON_IRCNICK@@"/>
 			<br /><br />
 			@@ENTRY_PERSON@@
 			<br />@@ENTRY_PERSON_IRCNICK@@
@@ -68,7 +68,7 @@
 			<h2>Bloggers</h2>
 			<ul>
 				<!-- @@BLOGGER@@ -->
-				<li>@@BLOGGER_ERROR_IMG@@<div><img class="head" src="images/heads/@@BLOGGER_HEAD@@" alt="@@BLOGGER_IRCNICK@@" /></div>
+				<li>@@BLOGGER_ERROR_IMG@@<div><img class="head" src="@@BLOGGER_HEAD@@" alt="@@BLOGGER_IRCNICK@@" /></div>
 					<a href="@@BLOGGER_URL@@">@@BLOGGER_NAME@@</a>
 					<div>
 						<a href="@@BLOGGER_RSSURL@@"><img src="images/feed.png" alt="@@BLOGGER_IRCNICK@@ feed"></a>
Index: worker/bloggers.xml
===================================================================
--- worker/bloggers.xml	(revision 99902)
+++ worker/bloggers.xml	(working copy)
@@ -150,5 +150,9 @@
 	<Blogger Name="Rusty Howell" RssUrl="http://rustyhowell.blogspot.com/feeds/posts/default/-/mono?alt=rss"; IrcNick="rusty"/>
 	<Blogger Name="Calvin Gaisford" RssUrl="http://calvinrg.blogspot.com/feeds/posts/default/-/mono?alt=rss"; IrcNick="calvin" Head="calvin.png"/>
 	<Blogger Name="Sandy Armstrong" RssUrl="http://automorphic.blogspot.com/feeds/posts/default?alt=rss"; IrcNick="sandy" Head="sandy.png"/>
-	<Blogger Name="Andres G. Aragoneses" RssUrl="http://knocte.blogspot.com/feeds/posts/default?alt=rss"; IrcNick="knocte" />
+  <Blogger Name    = "Andres G. Aragoneses"
+           RssUrl  = "http://www.blogger.com/feeds/13199395/posts/summary/-/Mono?alt=rss";
+           IrcNick = "knocte"
+           Head    = "http://www.mono-project.com/files/5/54/Knocte.png";
+           />
 </BloggerCollection>
Index: worker/RSS.NET.dll
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: worker/Makefile
===================================================================
--- worker/Makefile	(revision 99902)
+++ worker/Makefile	(working copy)
@@ -1,4 +1,4 @@
-MCS=mcs -debug
+MCS=gmcs -debug
 MONO=mono
 monologue-worker.exe : monologue-worker.cs template4dotnet.cs
 	$(MCS) /r:RSS.NET.dll /r:ICSharpCode.SharpZipLib.dll /out:$@ $^
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to