evolution-rss r431 - in trunk: . src
- From: lucilanga svn gnome org
- To: svn-commits-list gnome org
- Subject: evolution-rss r431 - in trunk: . src
- Date: Tue, 20 Jan 2009 17:58:41 +0000 (UTC)
Author: lucilanga
Date: Tue Jan 20 17:58:41 2009
New Revision: 431
URL: http://svn.gnome.org/viewvc/evolution-rss?rev=431&view=rev
Log:
2008-01-20 Lucian Langa <lucilanga gnome org>
* src/parser.c - tree_walk - correctly
exit on feed error
* src/rss.c - display comments feeds
* src/parser.c - parse_channel_line new
xml parsing function
* src/parser.c - tree_walk - support xml
genering tree walking
Modified:
trunk/ChangeLog
trunk/src/parser.c
trunk/src/rss.c
Modified: trunk/src/parser.c
==============================================================================
--- trunk/src/parser.c (original)
+++ trunk/src/parser.c Tue Jan 20 17:58:41 2009
@@ -763,7 +763,7 @@
while (rewalk);
if (channel == NULL) {
- fprintf(stderr, "No channel definition.\n");
+ fprintf(stderr, "ERROR:No channel definition.\n");
return NULL;
}
if (image != NULL)
@@ -804,6 +804,7 @@
r->total = item->len;
r->item = item;
r->title = t;
+ return r->title;
}
create_feed *
@@ -963,29 +964,6 @@
}
gchar *
-update_comments(RDF *r)
-{
- guint i;
- create_feed *CF;
- xmlNodePtr el;
- GString *comments = g_string_new(NULL);
- for (i=0; NULL != (el = g_array_index(r->item, xmlNodePtr, i)); i++) {
- CF = parse_channel_line(el->children, NULL, NULL);
- print_cf(CF);
- g_string_append_printf(comments, "<tr><td><table cellpading=0 cellspacing=0 border=1 width=100%>");
- g_string_append_printf(comments,
- "<tr><td><table border=0 width=\"100%%\" cellspacing=4 cellpadding=4>");
- g_string_append_printf(comments, "<tr><td>%s</td><td align=right>%s</td></tr>", CF->subj, CF->date);
- g_string_append_printf(comments, "<tr><td colspan=2>%s</td></tr>", CF->body);
- g_string_append_printf(comments, "</table></td></tr>");
- g_string_append_printf(comments, "</table></td></tr>");
- }
- gchar *scomments=comments->str;
- g_string_free(comments, FALSE);
- return scomments;
-}
-
-gchar *
update_channel(RDF *r)
{
guint i;
Modified: trunk/src/rss.c
==============================================================================
--- trunk/src/rss.c (original)
+++ trunk/src/rss.c Tue Jan 20 17:58:41 2009
@@ -176,6 +176,9 @@
rssfeed *rf = NULL;
gboolean inhibit_read = FALSE; //prevent mail selection when deleting folder
gchar *commstream = NULL; //global comments stream
+guint32 frame_colour;
+guint32 content_colour;
+guint32 text_colour;
gboolean setup_feed(add_feed *feed);
gchar *display_doc (RDF *r);
@@ -1612,9 +1615,9 @@
EMFormatHTML *emfh = (EMFormatHTML *)t->format;
/* force loading of images even if mail images disabled */
emfh->load_http_now = TRUE;
- guint32 frame_colour = emfh->frame_colour ? emfh->frame_colour: 0xffffff;
- guint32 content_colour = emfh->content_colour ? emfh->content_colour: 0xffffff;
- guint32 text_colour = emfh->text_colour ? emfh->text_colour: 0xffffff;
+ frame_colour = emfh->frame_colour ? emfh->frame_colour: 0xffffff;
+ content_colour = emfh->content_colour ? emfh->content_colour: 0xffffff;
+ text_colour = emfh->text_colour ? emfh->text_colour: 0xffffff;
type = camel_mime_part_get_content_type(message);
const char *website = camel_medium_get_header (CAMEL_MEDIUM (message), "Website");
@@ -4148,29 +4151,61 @@
}
gchar *
+update_comments(RDF *r)
+{
+ guint i;
+ create_feed *CF;
+ xmlNodePtr el;
+ GString *comments = g_string_new(NULL);
+ for (i=0; NULL != (el = g_array_index(r->item, xmlNodePtr, i)); i++) {
+ CF = parse_channel_line(el->children, NULL, NULL);
+ print_cf(CF);
+// g_string_append_printf (comments,
+// "<br><div style=\"border: solid #%06x 1px; background-color: #%06x; color: #%06x;\">\n",
+// frame_colour & 0xffffff, content_colour & 0xffffff, text_colour & 0xffffff);
+ g_string_append_printf(comments, "<tr><td><table cellpading=0 cellspacing=0 border=1 width=100%>");
+ g_string_append_printf(comments,
+ "<tr><td><table border=0 width=\"100%%\" cellspacing=4 cellpadding=4>");
+ g_string_append_printf (comments, "<tr><td bgcolor=\"%06x\"><table width=100%%><tr><td><b><font size=+1><a href=%s>%s</font></b></td><td align=right>%s</td></tr></table></td></tr>",
+ content_colour & 0xEDECEB & 0xffffff,
+ CF->website, CF->subj, CF->date);
+ g_string_append_printf(comments, "<tr><td colspan=2>%s</td></tr>", CF->body);
+ g_string_append_printf(comments, "</table></td></tr>");
+ g_string_append_printf(comments, "</table></td></tr>");
+ }
+ gchar *scomments=comments->str;
+ g_string_free(comments, FALSE);
+ return scomments;
+}
+
+gchar *
display_comments (RDF *r)
{
xmlNodePtr root = xmlDocGetRootElement (r->cache);
- tree_walk (root, r);
- gchar *comments = update_comments(r);
- if (r->maindate)
- g_free(r->maindate);
- g_array_free(r->item, TRUE);
- //g_free(r->feedid);
- return comments;
+ if (tree_walk (root, r)) {
+ gchar *comments = update_comments(r);
+ if (r->maindate)
+ g_free(r->maindate);
+ g_array_free(r->item, TRUE);
+ return comments;
+ }
+ return NULL;
}
+
gchar *
display_doc (RDF *r)
{
xmlNodePtr root = xmlDocGetRootElement (r->cache);
- tree_walk (root, r);
- r->feedid = update_channel(r);
- if (r->maindate)
- g_free(r->maindate);
- g_array_free(r->item, TRUE);
- g_free(r->feedid);
- return r->title;
+ if (tree_walk (root, r)) {
+ r->feedid = update_channel(r);
+ if (r->maindate)
+ g_free(r->maindate);
+ g_array_free(r->item, TRUE);
+ g_free(r->feedid);
+ return r->title;
+ }
+ return NULL;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]