performance: keep track of the ddts older than 4 weeks
[ppastats.git] / src / html.c
index a6536ae..379a9c1 100644 (file)
 #include <json.h>
 
 #include "html.h"
-#include "io.h"
 #include "log.h"
 #include "lp.h"
+#include <lp_json.h>
 #include "lp_ws.h"
 #include "ppastats.h"
-#include "str.h"
+#include <pio.h>
+#include <pstr.h>
 
 static const char *footer;
 static const char *ppa_body;
@@ -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)
@@ -580,7 +546,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);
                }