X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=parse-xml.c;h=82b10a47e741113428f20e7c671ee595e1442885;hb=549ad65bcb39e95c4deae0b77eb2476efa53df43;hp=38be728da55ffd4c719d0c84080bb06df8199df6;hpb=5a046d94ea808963b5e6a5d740d360815b0def6d;p=ext%2Fsubsurface.git diff --git a/parse-xml.c b/parse-xml.c index 38be728..82b10a4 100644 --- a/parse-xml.c +++ b/parse-xml.c @@ -110,7 +110,6 @@ static int cylinder_index; static enum import_source { UNKNOWN, LIBDIVECOMPUTER, - SUUNTO, UEMIS, DIVINGLOG, UDDF, @@ -644,26 +643,6 @@ static void try_to_fill_sample(struct sample *sample, const char *name, char *bu nonmatch("sample", name, buf); } -/* - * Crazy suunto xml. Look at how those o2/he things match up. - */ -static int suunto_dive_match(struct dive **divep, const char *name, int len, char *buf) -{ - struct dive *dive = *divep; - - return MATCH(".o2pct", percent, &dive->cylinder[0].gasmix.o2) || - MATCH(".hepct_0", percent, &dive->cylinder[0].gasmix.he) || - MATCH(".o2pct_2", percent, &dive->cylinder[1].gasmix.o2) || - MATCH(".hepct_1", percent, &dive->cylinder[1].gasmix.he) || - MATCH(".o2pct_3", percent, &dive->cylinder[2].gasmix.o2) || - MATCH(".hepct_2", percent, &dive->cylinder[2].gasmix.he) || - MATCH(".o2pct_4", percent, &dive->cylinder[3].gasmix.o2) || - MATCH(".hepct_3", percent, &dive->cylinder[3].gasmix.he) || - MATCH(".cylindersize", cylindersize, &dive->cylinder[0].type.size) || - MATCH(".cylinderworkpressure", pressure, &dive->cylinder[0].type.workingpressure) || - 0; -} - static const char *country, *city; static void divinglog_place(char *place, void *_location) @@ -978,11 +957,6 @@ static void try_to_fill_dive(struct dive **divep, const char *name, char *buf) start_match("dive", name, buf); switch (import_source) { - case SUUNTO: - if (suunto_dive_match(divep, name, len, buf)) - return; - break; - case UEMIS: if (uemis_dive_match(divep, name, len, buf)) return; @@ -1050,7 +1024,8 @@ static void try_to_fill_dive(struct dive **divep, const char *name, char *buf) return; if (MATCH(".buddy", utf8_string, &dive->buddy)) return; - + if (MATCH(".rating", get_index, &dive->rating)) + return; if (MATCH(".cylinder.size", cylindersize, &dive->cylinder[cylinder_index].type.size)) return; if (MATCH(".cylinder.workpressure", pressure, &dive->cylinder[cylinder_index].type.workingpressure)) @@ -1180,7 +1155,7 @@ static void sanitize_cylinder_type(cylinder_type_t *type) if (!type->size.mliter) return; - if (input_units.volume == CUFT || import_source == SUUNTO) { + if (input_units.volume == CUFT) { /* confusing - we don't really start from ml but millicuft !*/ volume_of_air = cuft_to_l(type->size.mliter); atm = to_ATM(type->workingpressure); /* working pressure in atm */ @@ -1348,12 +1323,6 @@ static void visit(xmlNode *n) traverse(n->children); } -static void suunto_importer(void) -{ - import_source = SUUNTO; - input_units = SI_units; -} - static void uemis_importer(void) { import_source = UEMIS; @@ -1405,7 +1374,6 @@ static struct nesting { { "P", sample_start, sample_end }, /* Import type recognition */ - { "SUUNTO", suunto_importer }, { "Divinglog", DivingLog_importer }, { "pre_dive", uemis_importer }, { "dives", uemis_importer }, @@ -1536,6 +1504,7 @@ static struct xslt_files { const char *root; const char *file; } xslt_files[] = { + { "SUUNTO", "SuuntoSDM.xslt" }, { "JDiveLog", "jdivelog2subsurface.xslt" }, { NULL, } };