X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhtml.c;fp=src%2Fhtml.c;h=6ae462d1f3400506c5484e350615cdd87d0f2f6d;hb=91119f38b1102166475467dc0cee470bac61f01c;hp=9a35c1450740ff0c866770fcda4b31de598049df;hpb=0ffa32c4daf36b425e7aca8caf1d2f81809be2ee;p=ppastats.git diff --git a/src/html.c b/src/html.c index 9a35c14..6ae462d 100644 --- a/src/html.c +++ b/src/html.c @@ -98,6 +98,10 @@ enum file_copy_error { N/A/N/A\n\

\n\
\n\ +
\n\ + Distros:\n\ + \n\ +
\n\ \n\ " @@ -255,8 +259,10 @@ static char *version_to_json(struct ppa_stats *ppa, struct package_stats *pkg, struct version_stats *ver) { - json_object *json; char *ret; + struct distro_stats **distros, *distro; + json_object *json, *json_distros, *json_distro, *json_archs, *json_arch; + struct arch_stats **archs; json = json_object_new_object(); @@ -274,6 +280,42 @@ static char *version_to_json(struct ppa_stats *ppa, json_add_ddts(json, ver->daily_download_totals); + distros = ver->distros; + json_distros = json_object_new_array(); + json_object_object_add(json, "distros", json_distros); + while (*distros) { + distro = *distros; + json_distro = json_object_new_object(); + + json_object_array_add(json_distros, json_distro); + + json_object_object_add(json_distro, + "name", + json_object_new_string(distro->name)); + + archs = distro->archs; + json_archs = json_object_new_array(); + json_object_object_add(json_distro, "archs", json_archs); + while (*archs) { + json_arch = json_object_new_object(); + + json_object_object_add + (json_arch, + "name", + json_object_new_string((*archs)->name)); + + json_object_object_add + (json_arch, + "count", + json_object_new_int((*archs)->download_count)); + + json_object_array_add(json_archs, json_arch); + archs++; + } + + distros++; + } + ret = strdup(json_object_to_json_string(json)); json_object_put(json);