top_srcdir = ..
-prefix = /tmp/p
+prefix = /usr
exec_prefix = ${prefix}
datarootdir = ${prefix}/share
datadir = ${datarootdir}
top_srcdir = ..
-prefix = /tmp/p
+prefix = /usr
exec_prefix = ${prefix}
datarootdir = ${prefix}/share
datadir = ${datarootdir}
msgstr ""
"Project-Id-Version: ppastats 0.0.x\n"
"Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-05-07 23:24+0200\n"
+"POT-Creation-Date: 2012-05-08 15:00+0200\n"
"PO-Revision-Date: 2012-05-05 23:45+0200\n"
"Last-Translator: <jeanfi@gmail.com>\n"
"Language-Team: French\n"
msgid "exceed cache capacity"
msgstr ""
-#: src/html.c:408 src/html.c:437
+#: src/html.c:378
#, c-format
msgid "failed to open: %s"
msgstr ""
-#: src/html.c:478 src/html.c:505 src/html.c:518
+#: src/html.c:406
+msgid "Failed to get the header template"
+msgstr ""
+
+#: src/html.c:413
+#, c-format
+msgid "Failed to open: %s"
+msgstr ""
+
+#: src/html.c:454
#, c-format
msgid "generating %s"
msgstr ""
-#: src/html.c:581
+#: src/html.c:481 src/html.c:494
#, c-format
-msgid "copying %s %s"
+msgid "Generating %s"
+msgstr ""
+
+#: src/html.c:557
+#, c-format
+msgid "Copying %s %s"
msgstr ""
#: src/log.c:37
msgid "Cannot open log file: %s"
msgstr ""
-#: src/lp_ws.c:68
+#: src/lp_ws.c:69
msgid "initializing CURL"
msgstr ""
-#: src/lp_ws.c:84
+#: src/lp_ws.c:86
#, c-format
msgid "fetch_url(): %s"
msgstr ""
-#: src/lp_ws.c:114 src/lp_ws.c:129
+#: src/lp_ws.c:116 src/lp_ws.c:132
#, c-format
msgid "Fetch failed with code %ld for URL %s"
msgstr ""
-#: src/lp_ws.c:119
-msgid "Wait 5s before retry"
+#: src/lp_ws.c:122
+#, c-format
+msgid "Wait %ds before retry"
msgstr ""
-#: src/lp_ws.c:303
+#: src/lp_ws.c:306
msgid "cleanup CURL"
msgstr ""
" -v, --version afficher les informations de version et quitter"
#: src/main.c:123
-#, fuzzy
msgid " -v, --version display version information and exit"
-msgstr ""
-" -h, --help afficher cette aide et quitter\n"
-" -v, --version afficher les informations de version et quitter"
+msgstr " -v, --version afficher les informations de version et quitter"
#: src/main.c:127
msgid " -o, --output-dir=[PATH] generates HTML pages into 'PATH'"
msgstr ""
"Project-Id-Version: ppastats 0.0.x\n"
"Report-Msgid-Bugs-To: jeanfi@gmail.com\n"
-"POT-Creation-Date: 2012-05-07 23:24+0200\n"
+"POT-Creation-Date: 2012-05-08 15:00+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "exceed cache capacity"
msgstr ""
-#: src/html.c:408 src/html.c:437
+#: src/html.c:378
#, c-format
msgid "failed to open: %s"
msgstr ""
-#: src/html.c:478 src/html.c:505 src/html.c:518
+#: src/html.c:406
+msgid "Failed to get the header template"
+msgstr ""
+
+#: src/html.c:413
+#, c-format
+msgid "Failed to open: %s"
+msgstr ""
+
+#: src/html.c:454
#, c-format
msgid "generating %s"
msgstr ""
-#: src/html.c:581
+#: src/html.c:481 src/html.c:494
#, c-format
-msgid "copying %s %s"
+msgid "Generating %s"
+msgstr ""
+
+#: src/html.c:557
+#, c-format
+msgid "Copying %s %s"
msgstr ""
#: src/log.c:37
msgid "Cannot open log file: %s"
msgstr ""
-#: src/lp_ws.c:68
+#: src/lp_ws.c:69
msgid "initializing CURL"
msgstr ""
-#: src/lp_ws.c:84
+#: src/lp_ws.c:86
#, c-format
msgid "fetch_url(): %s"
msgstr ""
-#: src/lp_ws.c:114 src/lp_ws.c:129
+#: src/lp_ws.c:116 src/lp_ws.c:132
#, c-format
msgid "Fetch failed with code %ld for URL %s"
msgstr ""
-#: src/lp_ws.c:119
-msgid "Wait 5s before retry"
+#: src/lp_ws.c:122
+#, c-format
+msgid "Wait %ds before retry"
msgstr ""
-#: src/lp_ws.c:303
+#: src/lp_ws.c:306
msgid "cleanup CURL"
msgstr ""
#include "lp.h"
#include "lp_ws.h"
#include "ppastats.h"
+#include "str.h"
static const char *footer;
static const char *ppa_body;
return path;
}
-static const char *get_header()
+static char *get_header(const char *title, const char *script)
{
const char *path;
+ char *res, *tmp;
if (!header) {
path = DEFAULT_WWW_DIR"/header.tpl";
header = file_get_content(path);
- if (!header)
+ if (!header) {
log_err("Failed to read header template: %s", path);
+
+ return NULL;
+ }
}
- return header;
+ tmp = strdup(header);
+ res = strrep(tmp, "@SCRIPT@", script);
+
+ if (res != tmp)
+ free(tmp);
+
+ tmp = res;
+ res = strrep(tmp, "@TITLE@", title);
+
+ if (res != tmp)
+ free(tmp);
+
+ return res;
}
static const char *get_footer()
}
static void
-version_to_html(struct ppa_stats *ppa,
- struct package_stats *pkg,
- struct version_stats *version,
- const char *dir)
-{
- char *f_name, *path;
- FILE *f;
- const char *footer;
- const char *pkg_ver;
-
- pkg_ver = get_pkg_version_body();
- if (!pkg_ver) {
- log_err("Failed to get package version template");
- 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");
- f = fopen(path, "w");
-
- if (!f) {
- log_err(_("failed to open: %s"), path);
- return ;
- }
-
- fprintf(f, pkg_ver, version_to_json(ppa, pkg, version));
-
- footer = get_footer();
- if (footer)
- fputs(footer, f);
-
- fclose(f);
-
- free(path);
- free(f_name);
-}
-
-static void
create_html(const char *path,
const char *title,
const char *body_template,
{
FILE *f;
const char *footer;
- const char *header;
+ char *header;
- header = get_header();
+ f = NULL;
+
+ header = get_header(title, script);
if (!header) {
log_err(_("Failed to get the header template"));
- return ;
+ goto on_error;
}
f = fopen(path, "w");
if (!f) {
log_err(_("Failed to open: %s"), path);
- return ;
+ goto on_error;
}
- fprintf(f, header, title, script);
+ fputs(header, f);
fputs(body_template, f);
footer = get_footer();
if (footer)
fputs(footer, f);
- fclose(f);
+ on_error:
+ if (header)
+ free(header);
+
+ if (f)
+ fclose(f);
}
static char *ppa_display_name(const struct ppa_stats *ppa)
}
static void
+version_to_html(struct ppa_stats *ppa,
+ struct package_stats *pkg,
+ struct version_stats *version,
+ const char *dir)
+{
+ char *f_name, *path;
+ const char *body;
+ const char *script_tpl;
+ char *script, *json;
+
+ body = get_pkg_version_body();
+ if (!body) {
+ log_err("Failed to create package version page");
+ return ;
+ }
+
+ json = version_to_json(ppa, pkg, version);
+ if (!json) {
+ log_err("Failed to create package version page");
+ 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);
+ sprintf(script, script_tpl, json);
+
+ create_html(path, f_name, body, script);
+
+ free(json);
+ free(path);
+ free(f_name);
+
+}
+
+static void
pkg_to_html(struct ppa_stats *ppa, struct package_stats *pkg, const char *dir)
{
char *path, *json_path, *script;
<html>
<head>
- <title>%s</title>
- <link type="text/css"
- rel="stylesheet"
+ <title>@TITLE@</title>
+ <link type="text/css" rel="stylesheet"
href="http://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin">
<link type="text/css" href="css/ppastats.css" rel="stylesheet"/>
<link type="text/css" href="css/jquery.jqplot.min.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
<script type="text/javascript" src="js/jqplot.dateAxisRenderer.min.js"></script>
<script type="text/javascript" src="js/ppastats.js"></script>
- <script>%s</script>
+ <script>@SCRIPT@</script>
</head>
<body>
-<html>
- <head>
- <link type="text/css" rel="stylesheet"
- href="http://fonts.googleapis.com/css?family=Ubuntu:regular,bold&subset=Latin">
- <link type="text/css" href="css/ppastats.css" rel="stylesheet" />
- <link type="text/css" href="css/jquery.jqplot.min.css" rel="stylesheet" />
- <!--[if lt IE 9]><script language="javascript" type="text/javascript" src="js/excanvas.js"></script><![endif]-->
- <script type="text/javascript" src="js/jquery.min.js"></script>
- <script type="text/javascript" src="js/jquery.jqplot.min.js"></script>
- <script type="text/javascript" src="js/jqplot.dateAxisRenderer.min.js"></script>
- <script type="text/javascript" src="js/ppastats.js"></script>
- <script>var data = %s;
- ppastats_ver();
- </script>
- </head>
- <body>
- <h1><span id="pkg_name">N/A</span></h1>
- <div id="version"><em>Version:</em></div>
- <p><em>PPA</em>:
- <a href="index.html">
- <span id="ppa_owner">N/A</span>/<span id="ppa_name">N/A</span>
- </a>
- </p>
- <div id="charts">
- <div id="chart"></div>
- </div>
- <div id="details">
- <div class="distros">
- <em>Distros</em>:
- <ul id="distros"></ul>
- </div>
- </div>
+<h1><span id="pkg_name">N/A</span></h1>
+<div id="version"><em>Version:</em></div>
+<p><em>PPA</em>:
+ <a href="index.html">
+ <span id="ppa_owner">N/A</span>/<span id="ppa_name">N/A</span>
+ </a>
+</p>
+<div id="charts">
+ <div id="chart"></div>
+</div>
+<div id="details">
+ <div class="distros">
+ <em>Distros</em>:
+ <ul id="distros"></ul>
+ </div>
+</div>