#include <sys/stat.h>
#include <sys/types.h>
-#include <json/json.h>
+#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 <plog.h>
+#include <pstr.h>
-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)
{
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)
create_html(path, f_name, body, script);
+ free(script);
free(json);
free(path);
free(f_name);
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);
}
free(path);
}
+
+void html_cleanup()
+{
+ free(header);
+ free(footer);
+ free(ppa_body);
+ free(pkg_body);
+ free(pkg_version_body);
+}