Enlightenment CVS committal
Author : dj2
Project : misc
Module : eke
Dir : misc/eke/src
Modified Files:
eke_gui_edje_item.c eke_parse.c
Log Message:
- don't need to resize the etox on resize
- start atom support. can parse atmos' feed...
===================================================================
RCS file: /cvsroot/enlightenment/misc/eke/src/eke_gui_edje_item.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- eke_gui_edje_item.c 27 Dec 2004 22:45:01 -0000 1.1
+++ eke_gui_edje_item.c 28 Dec 2004 03:39:36 -0000 1.2
@@ -273,16 +273,10 @@
_eke_gui_edje_item_object_resize(Evas_Object *o, Evas_Coord w, Evas_Coord h)
{
Eke_Gui_Edje_Item *data;
- Evas_Object *obj = NULL;
if((data = evas_object_smart_data_get(o)))
{
- printf("resizing to %d,%d\n", w, h);
evas_object_resize(data->obj, w, h);
- if((obj = edje_object_part_swallow_get(data->obj, "body"))) {
- printf("resizing etox to %d,%d\n", w, h);
- evas_object_resize(obj, w, h);
- }
}
}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eke/src/eke_parse.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- eke_parse.c 27 Dec 2004 22:45:01 -0000 1.1
+++ eke_parse.c 28 Dec 2004 03:39:36 -0000 1.2
@@ -18,6 +18,10 @@
static void eke_parse_rss_xml_node(xmlDoc *doc, Eke_Feed *feed, xmlNode *node);
static void eke_parse_item_free(void *val);
+static void eke_parse_atom_feed(xmlDoc *doc, Eke_Feed *feed, xmlNode *node);
+static void eke_parse_atom_xml_node(xmlDoc *doc, Eke_Feed *feed, xmlNode
*node);
+static void eke_parse_atom_item_parse(Eke_Feed *feed, xmlDoc *doc, xmlNode
*node);
+
static void strtrim(char *str);
void
@@ -78,6 +82,10 @@
node = xmlDocGetRootElement(doc);
if (!strcasecmp(node->name, "rss"))
eke_parse_rss_feed(doc, feed, node);
+
+ else if (!strcasecmp(node->name, "feed"))
+ eke_parse_atom_feed(doc, feed, node);
+
else
printf("Got a feed of type %s\n", node->name);
}
@@ -156,8 +164,7 @@
IF_FREE(ptr);
} else if (!strcasecmp(node->name, "description")) {
- tmp = node->xmlChildrenNode;
- ptr = xmlNodeListGetString(doc, tmp, 1);
+ ptr = xmlNodeGetContent(node);
strtrim(ptr);
eke_feed_item_description_set(item, ptr);
@@ -203,5 +210,85 @@
}
}
+static void
+eke_parse_atom_feed(xmlDoc *doc, Eke_Feed *feed, xmlNode *node)
+{
+ char *c;
+
+ c = xmlGetProp(node, "version");
+ feed->rss_version = atof(c);
+ FREE(c);
+
+ eke_parse_atom_xml_node(doc, feed, node->xmlChildrenNode);
+}
+
+static void
+eke_parse_atom_xml_node(xmlDoc *doc, Eke_Feed *feed, xmlNode *node)
+{
+ xmlNode *tmp;
+
+ while (node) {
+ if (!strcasecmp(node->name, "title")) {
+ tmp = node->xmlChildrenNode;
+ feed->title = xmlNodeListGetString(doc, tmp, 1);
+ strtrim(feed->title);
+
+ } else if (!strcasecmp(node->name, "link")) {
+ feed->link = xmlGetProp(node, "href");
+
+ } else if (!strcasecmp(node->name, "entry")) {
+ eke_parse_atom_item_parse(feed, doc, node->xmlChildrenNode);
+ }
+
+ node = node->next;
+ }
+ feed->data.type = EKE_FEED_DATA_RESPONSE_CHANGED;
+}
+
+static void
+eke_parse_atom_item_parse(Eke_Feed *feed, xmlDoc *doc, xmlNode *node)
+{
+ Eke_Feed_Item *item;
+ xmlNode *tmp;
+ char *ptr;
+
+ item = eke_feed_item_new();
+ while (node) {
+ if (!strcasecmp(node->name, "title")) {
+ tmp = node->xmlChildrenNode;
+ ptr = xmlNodeListGetString(doc, tmp, 1);
+ strtrim(ptr);
+
+ eke_feed_item_title_set(item, ptr);
+ IF_FREE(ptr);
+
+ } else if (!strcasecmp(node->name, "link")) {
+ ptr = xmlGetProp(node, "href");
+ strtrim(ptr);
+
+ eke_feed_item_link_set(item, ptr);
+ IF_FREE(ptr);
+
+ } else if (!strcasecmp(node->name, "content")) {
+ ptr = xmlNodeGetContent(node);
+ strtrim(ptr);
+
+ eke_feed_item_description_set(item, ptr);
+ IF_FREE(ptr);
+
+ } else if (!strcasecmp(node->name, "modified")) {
+ tmp = node->xmlChildrenNode;
+ ptr = xmlNodeListGetString(doc, tmp, 1);
+ strtrim(ptr);
+
+ eke_feed_item_date_set(item, ptr);
+ IF_FREE(ptr);
+ }
+ node = node->next;
+ }
+ ecore_list_append(feed->items, item);
+}
+
+
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs