projects
/
ppastats.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use file cache for distros
[ppastats.git]
/
src
/
lp_ws.c
diff --git
a/src/lp_ws.c
b/src/lp_ws.c
index
f52f935
..
023ba9b
100644
(file)
--- a/
src/lp_ws.c
+++ b/
src/lp_ws.c
@@
-28,6
+28,7
@@
#include <json/json.h>
#include "cache.h"
#include <json/json.h>
#include "cache.h"
+#include "fcache.h"
#include "list.h"
#include "log.h"
#include "lp_ws.h"
#include "list.h"
#include "log.h"
#include "lp_ws.h"
@@
-235,12
+236,24
@@
const struct distro_arch_series *get_distro_arch_series(const char *url)
{
json_object *obj;
const struct distro_arch_series *distro;
{
json_object *obj;
const struct distro_arch_series *distro;
+ char *content;
distro = cache_get(url);
if (distro)
return (struct distro_arch_series *)distro;
distro = cache_get(url);
if (distro)
return (struct distro_arch_series *)distro;
- obj = get_json_object(url);
+ content = fcache_get(url + 7);
+ if (!content) {
+ content = fetch_url(url);
+ if (content)
+ fcache_put(url + 7, content);
+ else
+ return NULL;
+ }
+
+ obj = json_tokener_parse(content);
+
+ free(content);
if (!obj)
return NULL;
if (!obj)
return NULL;