<span id=\"ppa_owner\">N/A</span>/<span id=\"ppa_name\">N/A</span>\n\
</a></p>\n\
<div id=\"chart\"></div>\n\
+ <div class=\"distros\">\n\
+ <em>Distros</em>:\n\
+ <ul id=\"distros\"></ul>\n\
+ </div>\n\
</body>\n\
</html>"
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();
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);