summaryrefslogtreecommitdiffstats
path: root/save-html.c
diff options
context:
space:
mode:
Diffstat (limited to 'save-html.c')
-rw-r--r--save-html.c33
1 files changed, 28 insertions, 5 deletions
diff --git a/save-html.c b/save-html.c
index 6ce0f3ab7..d459b0e6e 100644
--- a/save-html.c
+++ b/save-html.c
@@ -11,6 +11,18 @@ void write_attribute(struct membuffer *b, const char *att_name, const char *valu
put_string(b, "\",");
}
+void put_HTML_bookmarks(struct membuffer *b, struct dive *dive)
+{
+ struct event *ev = dive->dc.events;
+ put_string(b, "\"events\":[");
+ while (ev) {
+ put_format(b, "{\"name\":\"%s\",", ev->name);
+ put_format(b, "\"time\":\"%d:%02d min\",},", FRACTION(ev->time.seconds, 60));
+ ev = ev->next;
+ }
+ put_string(b, "],");
+}
+
static void put_cylinder_HTML(struct membuffer *b, struct dive *dive)
{
int i, nr;
@@ -29,13 +41,23 @@ static void put_cylinder_HTML(struct membuffer *b, struct dive *dive)
write_attribute(b, "Size", "--");
}
put_pressure(b, cylinder->type.workingpressure, "\"WPressure\":\"", " bar\",");
- put_pressure(b, cylinder->start, "\"SPressure\":\"", " bar\",");
- put_pressure(b, cylinder->end, "\"EPressure\":\"", " bar\",");
+
+ if (cylinder->start.mbar) {
+ put_milli(b, "\"EPressure\":\"", cylinder->start.mbar, " bar\",");
+ } else {
+ write_attribute(b, "EPressure", "--");
+ }
+
+ if (cylinder->end.mbar) {
+ put_milli(b, "\"SPressure\":\"", cylinder->end.mbar, " bar\",");
+ } else {
+ write_attribute(b, "SPressure", "--");
+ }
if (cylinder->gasmix.o2.permille) {
- put_format(b, "\"O₂\":\"%u.%u%%\",", FRACTION(cylinder->gasmix.o2.permille, 10));
+ put_format(b, "\"O2\":\"%u.%u%%\",", FRACTION(cylinder->gasmix.o2.permille, 10));
} else {
- write_attribute(b, "O₂", "--");
+ write_attribute(b, "O2", "--");
}
put_string(b, "},");
}
@@ -52,7 +74,7 @@ void put_HTML_samples(struct membuffer *b, struct dive *dive)
put_string(b, "\"samples\":\[");
struct sample *s = dive->dc.sample;
for (i = 0; i < dive->dc.samples; i++) {
- put_format(b, "[%d,%d],", s->time.seconds, s->depth.mm);
+ put_format(b, "[%d,%d,%d,%d],", s->time.seconds, s->depth.mm, s->cylinderpressure.mbar, s->temperature.mkelvin);
s++;
}
put_string(b, "],");
@@ -155,6 +177,7 @@ void write_one_dive(struct membuffer *b, struct dive *dive, int *dive_no, const
if (!list_only) {
put_cylinder_HTML(b, dive);
put_HTML_samples(b, dive);
+ put_HTML_bookmarks(b, dive);
}
put_string(b, "},\n");
(*dive_no)++;