From 05d4d920a38f57f2afc0ef349d8f4c96a5852878 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Mon, 29 Apr 2013 09:14:32 +0000 Subject: [PATCH] --- src/http.c | 2 +- src/main.c | 4 ++++ src/ttrss.c | 15 +++++++++++++++ src/ttrss.h | 2 ++ src/ttrss_ws.c | 15 +++++++++------ 5 files changed, 31 insertions(+), 7 deletions(-) diff --git a/src/http.c b/src/http.c index 0689a84..cd46515 100644 --- a/src/http.c +++ b/src/http.c @@ -87,7 +87,7 @@ http_get(struct http_session *sess, const char *url, const char *content) pthread_mutex_lock(&sess->lock); curl_easy_setopt(sess->curl, CURLOPT_URL, url); - curl_easy_setopt(sess->curl, CURLOPT_VERBOSE, 1); + curl_easy_setopt(sess->curl, CURLOPT_VERBOSE, 0); if (content) { curl_easy_setopt(sess->curl, CURLOPT_POSTFIELDS, content); curl_easy_setopt(sess->curl, diff --git a/src/main.c b/src/main.c index 6d9aead..39ad7c3 100644 --- a/src/main.c +++ b/src/main.c @@ -134,6 +134,10 @@ void update() } model_state = 0; + feeds = ttrss_get_feeds(); + if (feeds) + ttrs_download_headline_content(feeds); + log_debug("update() done"); } diff --git a/src/ttrss.c b/src/ttrss.c index 9833040..9b76295 100644 --- a/src/ttrss.c +++ b/src/ttrss.c @@ -125,3 +125,18 @@ struct headline *ttrss_get_headline(int id) { return feeds_get_headline(data, id); } + +void ttrs_download_headline_content(struct feed **feeds) +{ + struct feed **fcur; + struct headline **hcur; + + for (fcur = feeds; *fcur; fcur++) { + hcur = ttrss_feed_get_headlines(*fcur); + + while (hcur && *hcur) { + free(ttrss_get_headline_content(*hcur)); + hcur++; + } + } +} diff --git a/src/ttrss.h b/src/ttrss.h index b426a50..4e9f3a5 100644 --- a/src/ttrss.h +++ b/src/ttrss.h @@ -33,4 +33,6 @@ struct headline *ttrss_get_headline(int id); void ttrs_set_config(const char *url, const char *user, const char *pwd); +void ttrs_download_headline_content(struct feed **); + #endif diff --git a/src/ttrss_ws.c b/src/ttrss_ws.c index 51eee15..582f9fb 100644 --- a/src/ttrss_ws.c +++ b/src/ttrss_ws.c @@ -36,7 +36,7 @@ static char *session_user; static char *session_pwd; static pthread_mutex_t lock; -static struct http_session *http_session; +static struct http_session *session; void ws_request_add_att_str(json_object *rq, const char *k, const char *str) { @@ -98,12 +98,13 @@ struct json_object *ws_reply_get_content(struct json_object *rp) return json_object_object_get(rp, "content"); } -static struct json_object *execute(struct json_object *rq, char **err) +static struct json_object * +execute(struct http_session *sess, struct json_object *rq, char **err) { struct json_object *rp, *content, *jerror; const char *str; - rp = http_json_get(http_session, session_url, rq); + rp = http_json_get(sess, session_url, rq); content = NULL; @@ -139,14 +140,14 @@ struct json_object *ws_execute(struct json_object *rq) log_debug("ws_execute() lock"); err = NULL; - result = execute(rq, &err); + result = execute(session, rq, &err); if (err) { log_debug("ws_execute(): error=%s\n", err); if (!strcmp(err, "NOT_LOGGED_IN")) { ws_open_session(); - result = execute(rq, NULL); + result = execute(session, rq, NULL); } free(err); @@ -364,6 +365,8 @@ struct feed **ws_update_feeds(struct feed **feeds) j = json_object_object_get(jfeed, "unread"); feed->unread = json_object_get_int(j); + + ws_update_headlines(feed); } json_object_put(rp); } else { @@ -412,5 +415,5 @@ void ws_init() pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); pthread_mutex_init(&lock, &attr); - http_session = http_session_new(); + session = http_session_new(); } -- 2.7.4