From 5854573ad3f8137d123b7f0d196f1c0e38dcb1d4 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 6 Dec 2006 09:55:58 +0100 Subject: [PATCH] unify counter reply object handling when called from auto refetch and manually --- functions.js | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++-- tt-rss.js | 39 +---------------------------------- 2 files changed, 56 insertions(+), 40 deletions(-) diff --git a/functions.js b/functions.js index 230fe1ab8..3fa3d5e53 100644 --- a/functions.js +++ b/functions.js @@ -613,10 +613,59 @@ function parse_counters(reply, scheduled_call) { } } +function parse_counters_reply(xmlhttp) { + + if (!xmlhttp.responseXML) { + notify("refetch_callback: backend did not return valid XML", true, true); + return; + } + + var reply = xmlhttp.responseXML.firstChild; + + if (!reply) { + notify("refetch_callback: backend did not return expected XML object", true, true); + updateTitle(""); + return; + } + + var error_code = false; + var error_msg = false; + + if (reply.firstChild) { + error_code = reply.firstChild.getAttribute("error-code"); + error_msg = reply.firstChild.getAttribute("error-msg"); + } + + if (!error_code) { + error_code = reply.getAttribute("error-code"); + error_msg = reply.getAttribute("error-msg"); + } + + if (error_code && error_code != 0) { + debug("refetch_callback: got error code " + error_code); + return fatalError(error_code, error_msg); + } + + var counters = reply.firstChild; + + parse_counters(counters, true); + + var runtime_info = counters.nextSibling; + + parse_runtime_info(runtime_info); + + if (getInitParam("feeds_sort_by_unread") == 1) { + resort_feedlist(); + } + + hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1); + +} + function all_counters_callback() { if (xmlhttp_rpc.readyState == 4) { try { - if (!xmlhttp_rpc.responseXML || !xmlhttp_rpc.responseXML.firstChild) { +/* if (!xmlhttp_rpc.responseXML || !xmlhttp_rpc.responseXML.firstChild) { debug("[all_counters_callback] backend did not return valid XML"); return; } @@ -639,7 +688,11 @@ function all_counters_callback() { resort_feedlist(); } - hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1); + hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1); */ + + debug("in all_counters_callback"); + + parse_counters_reply(xmlhttp_rpc); } catch (e) { exception_error("all_counters_callback", e); diff --git a/tt-rss.js b/tt-rss.js index b53f9db7c..07734bacc 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -62,44 +62,7 @@ function refetch_callback() { last_refetch = date.getTime() / 1000; - if (!xmlhttp_ctr.responseXML) { - notify("refetch_callback: backend did not return valid XML", true, true); - return; - } - - var reply = xmlhttp_ctr.responseXML.firstChild; - - if (!reply) { - notify("refetch_callback: backend did not return expected XML object", true, true); - updateTitle(""); - return; - } - - var error_code = false; - var error_msg = false; - - if (reply.firstChild) { - error_code = reply.firstChild.getAttribute("error-code"); - error_msg = reply.firstChild.getAttribute("error-msg"); - } - - if (!error_code) { - error_code = reply.getAttribute("error-code"); - error_msg = reply.getAttribute("error-msg"); - } - - if (error_code && error_code != 0) { - debug("refetch_callback: got error code " + error_code); - return fatalError(error_code, error_msg); - } - - var counters = reply.firstChild; - - parse_counters(counters, true); - - var runtime_info = counters.nextSibling; - - parse_runtime_info(runtime_info); + parse_counters_reply(xmlhttp_ctr); debug("refetch_callback: done");