discomfitor pushed a commit to branch master.

http://git.enlightenment.org/apps/empc.git/commit/?id=4055d54e69b3e33a03b2ae7fbeb9f7332cac52e2

commit 4055d54e69b3e33a03b2ae7fbeb9f7332cac52e2
Author: zmike <michael.blumenkra...@gmail.com>
Date:   Sun Dec 21 18:41:16 2014 -0500

    one more excetra resync
---
 src/modules/excetra.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/src/modules/excetra.c b/src/modules/excetra.c
index 15fe805..4edd120 100644
--- a/src/modules/excetra.c
+++ b/src/modules/excetra.c
@@ -69,6 +69,8 @@ lyricwiki_parse_lyric(Eina_Strbuf *buf)
         return NULL;
      }
    s = eina_strbuf_string_get(buf);
+#ifdef OLD_FETCH
+   if (size > 40000) s += 40000;
    lyric_start = strstr(s, "phone_right.gif");
    if (lyric_start)
      {
@@ -87,14 +89,25 @@ lyricwiki_parse_lyric(Eina_Strbuf *buf)
         lyric_start += sizeof("</script>") - 1;
      }
    lyric_end = strstr(lyric_start, "<!--");
+#else
+   if (size > 2000) s += 2000;
+   lyric_start = strstr(s, "&lt;lyrics&gt;\n");
+   if (!lyric_start) goto error;
+   lyric_start += sizeof("&lt;lyrics&gt;\n") - 1; //+\n
+   lyric_end = strstr(lyric_start, "\n&lt;/lyrics&gt;");
+#endif
    if (!lyric_end) goto error;
    lyric_end[0] = 0;
+#ifdef OLD_FETCH
    while (lyric_end[-1] == '\n')
      {
         lyric_end[-1] = 0;
         lyric_end--;
      }
    return evas_textblock_text_markup_to_utf8(NULL, lyric_start);
+#else
+   return strdup(lyric_start);
+#endif
 error:
    ERR("Parsing error!");
    return NULL;
@@ -120,6 +133,9 @@ lyricwiki_parse_stub(Excetra_Req *req)
    azy_content_deserialize(content, net);
    if (azy_value_to_Lyricwiki_Lyric(azy_content_retval_get(content), &lwl))
      {
+        char buf[4096] = {0};
+        const char *p;
+
         INF("STUB:");
         Lyricwiki_Lyric_print(NULL, 0, lwl);
         ecore_con_url_free(req->url);
@@ -130,7 +146,15 @@ lyricwiki_parse_stub(Excetra_Req *req)
              excetra_req_free(req);
              return;
           }
+#ifdef OLD_FETCH
         req->url = ecore_con_url_new(lwl->url);
+#else
+        p = strrchr(lwl->url, '/');
+        memcpy(buf, lwl->url, p - lwl->url);
+        memcpy(buf + (p - lwl->url), "/Special:Export", 
sizeof("/Special:Export") - 1);
+        strncpy(buf + (p - lwl->url) + sizeof("/Special:Export") - 1, p, 
sizeof(buf) - ((p - lwl->url) + sizeof("/Special:Export") - 1));
+        req->url = ecore_con_url_new(buf);
+#endif
         ecore_con_url_data_set(req->url, req);
         ecore_con_url_get(req->url);
      }
@@ -160,7 +184,11 @@ lyricwiki_complete(void *d EINA_UNUSED, int type 
EINA_UNUSED, Ecore_Con_Event_Ur
 
         tp = azy_util_transport_get(h);
         if (tp == AZY_NET_TRANSPORT_JAVASCRIPT) break;
+#ifdef OLD_FETCH
         if (tp == AZY_NET_TRANSPORT_HTML)
+#else
+        if (tp == AZY_NET_TRANSPORT_XML)
+#endif
           {
              stub = EINA_FALSE;
              break;

-- 


Reply via email to