summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Gehad elrobey <gehadelrobey@gmail.com>2014-06-08 16:09:24 +0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-15 09:18:28 -0700
commit5861513364e18dbcbcb3fea307ac1df8bae578b9 (patch)
tree3c7f77e576bc1b6d60fc17ee668820d33aa002d9
parentc7bc364ca160461ac755682c523acc07fe1a74bd (diff)
downloadsubsurface-5861513364e18dbcbcb3fea307ac1df8bae578b9.tar.gz
HTML: Write cylinder data to the JSON files.
Iterate the cylinders in each dive and write cylinders data to the exported JSON files. Moving the write attribute function to the top of the file. Signed-off-by: Gehad elrobey <gehadelrobey@gmail.com> Signed-off-by: Miika Turkia <miika.turkia@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--save-html.c52
1 files changed, 43 insertions, 9 deletions
diff --git a/save-html.c b/save-html.c
index 61c453d88..e77f79a43 100644
--- a/save-html.c
+++ b/save-html.c
@@ -2,6 +2,48 @@
#include "gettext.h"
#include "stdio.h"
+void write_attribute(struct membuffer *b, const char *att_name, const char *value)
+{
+ if (!value)
+ value = "--";
+ put_format(b, "\"%s\":\"", att_name);
+ put_HTML_quoted(b, value);
+ put_string(b, "\",");
+}
+
+static void put_cylinder_HTML(struct membuffer *b, struct dive *dive)
+{
+ int i, nr;
+
+ nr = nr_cylinders(dive);
+
+ put_string(b, "\"Cylinders\":[");
+
+ for (i = 0; i < nr; i++) {
+ cylinder_t *cylinder = dive->cylinder + i;
+ put_string(b, "{");
+ write_attribute(b, "Type", cylinder->type.description);
+ if (cylinder->type.size.mliter) {
+ put_milli(b, "\"Size\":\"", cylinder->type.size.mliter, " l\",");
+ } else {
+ 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->gasmix.o2.permille) {
+ put_format(b, "\"O2\":\"%u.%u%%\",", FRACTION(cylinder->gasmix.o2.permille, 10));
+ } else {
+ write_attribute(b, "O2", "--");
+ }
+ put_string(b, "},");
+ }
+
+ put_string(b, "],");
+}
+
+
void put_HTML_samples(struct membuffer *b, struct dive *dive)
{
int i;
@@ -90,15 +132,6 @@ void put_HTML_tags(struct membuffer *b, struct dive *dive, const char *pre, cons
put_string(b, post);
}
-void write_attribute(struct membuffer *b, const char *att_name, const char *value)
-{
- if (!value)
- value = "--";
- put_format(b, "\"%s\":\"", att_name);
- put_HTML_quoted(b, value);
- put_string(b, "\",");
-}
-
void write_one_dive(struct membuffer *b, struct dive *dive, int *dive_no)
{
put_string(b, "{");
@@ -118,6 +151,7 @@ void write_one_dive(struct membuffer *b, struct dive *dive, int *dive_no)
write_attribute(b, "suit", dive->suit);
put_HTML_tags(b, dive, "\"tags\":", ",");
put_HTML_notes(b, dive, "\"notes\":\"", "\",");
+ put_cylinder_HTML(b, dive);
put_HTML_samples(b, dive);
put_string(b, "},\n");
(*dive_no)++;