X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fhtml.c;h=379a9c15e742ca6bd48095d3abf410ab76d1048c;hb=497e16d17e06f1f303de8f10398353b0821f9c1e;hp=8a1252490addd9d758f9951f99dd5febb77dcf8f;hpb=33e668c4571e06effe56eaa7dc5884412a2707d2;p=ppastats.git diff --git a/src/html.c b/src/html.c index 8a12524..379a9c1 100644 --- a/src/html.c +++ b/src/html.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 jeanfi@gmail.com + * Copyright (C) 2011-2014 jeanfi@gmail.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -27,15 +27,16 @@ #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 static const char *footer; static const char *ppa_body; @@ -88,7 +89,7 @@ static char *get_header(const char *title, const char *script) if (res != tmp) free(tmp); - + return res; } @@ -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) @@ -470,22 +436,20 @@ version_to_html(struct ppa_stats *ppa, return ; } - f_name = malloc(strlen(pkg->name)+1+strlen(version->version)+1); sprintf(f_name, "%s_%s", pkg->name, version->version); path = path_new(dir, f_name, ".html"); script_tpl = "var data = %s;\n ppastats_ver();"; - script = malloc(strlen(script_tpl) - 2 +strlen(json) + 1); + script = malloc(strlen(script_tpl) - 2 + strlen(json) + 1); sprintf(script, script_tpl, json); - + create_html(path, f_name, body, script); - + free(json); free(path); free(f_name); - } static void @@ -549,7 +513,8 @@ ppa_to_html(const char *owner, const char *ppa, const char *package_status, const char *output_dir, - const int install_static_files) + const int install_static_files, + int ws_size) { struct ppa_stats *ppastats; char *path, *f_dst; @@ -564,6 +529,7 @@ ppa_to_html(const char *owner, "js/jquery.jqplot.min.js", DEFAULT_WWW_DIR"/excanvas.js", "js/excanvas.js", DEFAULT_WWW_DIR"/ppastats.css", "css/ppastats.css", + DEFAULT_WWW_DIR"/wpitchoune.css", "css/wpitchoune.css", DEFAULT_WWW_DIR"/jquery.jqplot.min.css", "css/jquery.jqplot.min.css" }; @@ -576,11 +542,11 @@ ppa_to_html(const char *owner, mkdir(css_dir, 0777); mkdir(js_dir, 0777); - for (i = 0; i < 7; i++) { + for (i = 0; i < 8; i++) { 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); } @@ -588,7 +554,7 @@ ppa_to_html(const char *owner, free(js_dir); } - ppastats = create_ppa_stats(owner, ppa, package_status); + ppastats = create_ppa_stats(owner, ppa, package_status, ws_size); path = path_new(output_dir, "ppa", ".html");