/*
- * 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
#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);
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;
"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" };
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);
}
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");
free(path);
}
+
+void html_cleanup() {
+ free(header);
+ free(footer);
+ free(ppa_body);
+ free(pkg_body);
+ free(pkg_version_body);
+}