X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fhtml.c;h=f24d93effae11c6c1e6044b4b93a559400d759f7;hb=eb26e5d2404df23c3151a55a6d887abb421ef601;hp=a6acc2f314d730a2feac9f389f8df649e494340f;hpb=1378a843b2e5ce3fbc4429b07844cc37d42e0d8e;p=ppastats.git diff --git a/src/html.c b/src/html.c index a6acc2f..f24d93e 100644 --- a/src/html.c +++ b/src/html.c @@ -27,21 +27,22 @@ #include #include -#include +#include #include "html.h" -#include "io.h" -#include "log.h" #include "lp.h" +#include #include "lp_ws.h" #include "ppastats.h" -#include "str.h" +#include +#include +#include -static const char *footer; -static const char *ppa_body; -static const char *pkg_body; -static const char *pkg_version_body; -static const char *header; +static char *footer; +static char *ppa_body; +static char *pkg_body; +static char *pkg_version_body; +static char *header; static char *path_new(const char *dir, const char *file, const char *suffixe) { @@ -152,45 +153,10 @@ static const char *get_pkg_body() return pkg_body; } -static struct json_object *date_to_json(struct tm *tm) -{ - json_object *json; - - json = json_object_new_array(); - json_object_array_add(json, json_object_new_int(tm->tm_year+1900)); - json_object_array_add(json, json_object_new_int(tm->tm_mon+1)); - json_object_array_add(json, json_object_new_int(tm->tm_mday)); - - return json; -} - static void json_add_ddts(json_object *json, struct daily_download_total **ddts) { - json_object *json_ddt, *json_ddts; - struct daily_download_total *ddt; - - json_ddts = json_object_new_array(); - json_object_object_add(json, "ddts", json_ddts); - - if (!ddts) - return ; - - while (*ddts) { - ddt = *ddts; - - json_ddt = json_object_new_object(); - json_object_object_add(json_ddt, - "value", - json_object_new_int(ddt->count)); - json_object_object_add(json_ddt, - "time", - date_to_json(&ddt->date)); - - json_object_array_add(json_ddts, json_ddt); - - ddts++; - } + json_object_object_add(json, "ddts", ddts_to_json(ddts)); } static json_object *distro_to_json(struct distro_stats *d) @@ -288,6 +254,9 @@ static char *version_to_json(struct ppa_stats *ppa, json_object_object_add(json, "name", json_object_new_string(ver->version)); + json_object_object_add(json, + "date_created", time_to_json(ver->date_created)); + json_add_ddts(json, ver->daily_download_totals); distros = ver->distros; @@ -481,6 +450,7 @@ version_to_html(struct ppa_stats *ppa, create_html(path, f_name, body, script); + free(script); free(json); free(path); free(f_name); @@ -580,7 +550,7 @@ ppa_to_html(const char *owner, f_dst = path_append(output_dir, www_files[2*i+1]); log_debug(_("Copying %s %s"), www_files[2*i], f_dst); - fcopy(www_files[2*i], f_dst); + file_copy(www_files[2*i], f_dst); free(f_dst); } @@ -600,3 +570,12 @@ ppa_to_html(const char *owner, free(path); } + +void html_cleanup() +{ + free(header); + free(footer); + free(ppa_body); + free(pkg_body); + free(pkg_version_body); +}