Commit graph

408 commits

Author SHA1 Message Date
Miika Turkia
919cfc9dee Fix CSV import of cylinder pressures
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
b585f65d50 Limit precision for temperature in CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
5174ac57be Limit max depth precision on CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
2f721cbbf0 Limit mean depth precision on CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
25a628bf8d More precision in CSV export for depths
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
4ced7c3f73 Fix size conversion on imperial CSV import
We really need the decimal separator to get correct results

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
841d1b4fac CSV export: convert cylinder size to imperial
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
1c03cb259e CSV export: export only existing temperatures
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-04-01 08:06:09 -07:00
Miika Turkia
0a1224b693 Fix imperial conversion for weight on CSV export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-02-26 11:30:32 -08:00
Miika Turkia
1cd4f3dbb2 Add geolocation to divelogs.de export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-02-18 10:48:33 -08:00
Miika Turkia
d23717523b Define numberField variable on CSV import
We need to define the import variables that we use. This should fix the
Seabear HUDC import and thus the corresponding test case.
2017-02-09 09:22:30 -08:00
Miika Turkia
693bf249e4 Parse AP Divesight time format
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-10 23:04:36 -08:00
Miika Turkia
902a27d5de AV1 import: deco mode reported by DC
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 13:57:19 +02:00
Miika Turkia
9b9d065447 AV1 import: grab NDL info
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 13:28:06 +02:00
Miika Turkia
f28280db99 AV1 import: move dcmode detection
We need to set the attributes before we can start parsing other tags,
as cylinder.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 12:59:34 +02:00
Miika Turkia
49964a552b AV1 import: parse temperature
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 11:40:21 +02:00
Miika Turkia
5db7d4bcd7 AV1 import: fix indentation
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 10:47:03 +02:00
Miika Turkia
47d77bc894 AV1 import: move tag definition for future changes
This should allow us to add different attributes to the samples while
parsing the log.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2017-01-01 10:43:16 +02:00
Miika Turkia
e70d271d44 Import AV1 alerts
This imports the events from AV1 using the original event description.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2016-12-31 15:13:27 +02:00
Miika Turkia
2ce1b4e668 AV1 import: parse dive mode
This is tested only with OC and requires that other modes use compatible
terms for the mode.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2016-12-31 13:27:41 +02:00
Miika Turkia
25ce819a9a XSLT to parse AV1 log file
Support for importing the dive profile from Underwater Technologies AV1
dive computer export.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
2016-12-31 09:52:46 +02:00
Miika Turkia
2d69f8c9d0 CSV import: convert imperial mean depth to metric
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:24:12 -08:00
Miika Turkia
6d6caf8620 Fix imiperial conversion on CSV import
Somehow the divider lost one zero during copypaste to this XSLT file.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:23:56 -08:00
Miika Turkia
821e35d2bb Fix time fraction calculation for CSV import
Previous formula didn't handle values of less than 10 correctly.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:23:51 -08:00
Miika Turkia
ac800e14dd CSV import: Support sec,fraction format
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:23:17 -08:00
Miika Turkia
caeb72ceb0 Manual CSV import had wrong tag name for DC
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:23:09 -08:00
Miika Turkia
b88d403fb6 CSV import might have time in sec.fraction format
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:22:46 -08:00
Miika Turkia
c78bbf6883 CSV import: support for decimal comma on temperature
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:22:42 -08:00
Miika Turkia
50ea5ec296 CSV import: support for decimal comma on depth
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:22:37 -08:00
Miika Turkia
5402d489c6 CSV import: support time with decimal comma
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-15 03:22:28 -08:00
Miika Turkia
caf14865b4 DL7 import: ignore non-numeric pressure
If pressure field is empty, we do not want to have field separator as
pressure value. This would flood the console with parsing error
messages.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-11-05 12:54:02 -07:00
Miika Turkia
3a454d77ba Fix month on Shearwater import
Fixes #1096

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-10-03 07:59:04 -07:00
Miika Turkia
71273945c6 Support hⓂ️s format for duration on CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-09-24 08:29:24 -07:00
Miika Turkia
0e31171087 Fix cylinder pressure for UDDF export
Fixes #1086

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-07-28 04:55:39 -07:00
Miika Turkia
6392bf83ab Use manual temperatures in CSV details import
When importing dive details from a CSV file, it is better to treat the
values as manually imported instead of imported from a dive computer.
The original way discarded the temperature values from the details
import if a dive profile was imported and merged to the dive details.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-16 11:02:22 -07:00
Miika Turkia
2936b63a04 Typo in CSV import
Variables are started with $ sign...

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-16 11:02:09 -07:00
Miika Turkia
304af311f0 CSV import: import dive number if defined
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:25:10 -07:00
Miika Turkia
7ec83ef02a CSV import: import time field if available
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:25:07 -07:00
Miika Turkia
a83c674139 CSV import: support for user specified date format
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:25:03 -07:00
Miika Turkia
a480d28afd CSV import: use date field on profile import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:24:52 -07:00
Miika Turkia
98f93be0c4 CSV import: convert cylinder size from imperial
This will convert cylinder size when importing from imperial units. I am
using default working pressure of 3000 PSI that is not precisely
correct, but should be close enough for the most common aluminium
cylinders.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-05-02 10:24:47 -07:00
Miika Turkia
0b8ac416bf CSV import: support min.sec format
Assume a format containing a dot to be min.sec as defined in DL7
specification.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-25 09:08:52 -07:00
Miika Turkia
7a4fa510e9 Add pipe as supported field separator on CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-25 09:07:27 -07:00
Miika Turkia
9607ff6c93 Import picture URLs from divelogs.de
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-18 21:03:27 -07:00
Miika Turkia
7e47874adb SDM import: fix logic for sample import
Seems that testing if BOOKMARK is empty is a bad idea. We end up not
getting any samples, but the ones containing a bookmark. So we need to
switch the logic to testing if BOOKMARK contains something and do those
tasks first and otherwise grab a regular sample.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-02 06:29:25 -05:00
Miika Turkia
19400b8da1 SDM import: calculate duration if needed
Seems that DiveManager does not always return the dive duration in
DIVETIMESEC field. In this case we can try to calculate the duration
from sample count and interval.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-04-02 06:28:51 -05:00
Miika Turkia
ee0bdd9043 CSV export
Need to discard dive site notes on csv export..

miika

From ab23245e2acee32410fa680d0eaab098af69b5c2 Mon Sep 17 00:00:00 2001
From: Miika Turkia <miika.turkia@gmail.com>
Date: Mon, 21 Mar 2016 17:50:28 +0800
Subject: [PATCH] CSV export: discard dive site notes

The new format of divesite management breaks the CSV export as the notes
of divesites are matched.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-22 08:45:04 -07:00
Miika Turkia
6bcfb033ee UDDF export: fix dive site support
We need to match the divesites to suppress extra output that breaks the
XML. This is because the divesites are actually gathered by calling a
template.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-03-13 08:31:30 -07:00
Miika Turkia
2b8e8849e6 Use full precision on weight system on XSLT transforms
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-02-25 00:38:03 +01:00
Miika Turkia
df6eff917c Support PSI on CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2016-01-24 21:26:03 -08:00
Miika Turkia
de76cb3ebb Fix UDCF import time unit in timedepthmode
The timedepthmode specifies the time in seconds when using si units,
otherwise minutes. This patch implements this support.

Fixes #981

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-12-26 23:11:18 -08:00
Miika Turkia
6381425476 Fix UDDF import indentation
Only indentation is changed on this commit.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-03 08:24:09 -08:00
Miika Turkia
af323a9fb1 Only include samples with data on UDDF import
According to the specification each proper sample should have depth, so
we can just ignore the empty waypoints.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-03 08:24:05 -08:00
Miika Turkia
4833d6bd72 Grab all gas mixes only when no tank data is given
Grabbing all gas mixes was added for Xdeep default cylinders, and it is
not required for other data sources that have tankdata info in the UDDF
file.

See #958

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-11-02 21:04:47 -08:00
Miika Turkia
bf2df951e6 Divelogs.de export: split location on slash
As we join LOCATION with SITE on divelogs.de import using slash (/) as a
separator, we might as well split on last slash on export.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-24 20:17:21 +09:00
Miika Turkia
058575bbbc CSV import: use the delta value instead of 1 sec
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-10-01 07:54:51 -04:00
Miika Turkia
f5b17f2d29 Divelogs.de import: set default working pressure
Let's use the same assumption for working pressure (where not defined)
as the origin uses.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-24 07:11:18 -07:00
Miika Turkia
f38f8ce4c9 Add importing of working pressure from divelogs.de
We were missing the import of cylinders' working pressure when syncing
with divelogs.de. This piece of information is required for proper unit
conversions when user uses imperial units for displaying the
dive information. (Both Subsurface and divelogs.de use metric
internally, or at least the export from divelogs.de is in metric.)

See #907

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-12 12:36:26 -07:00
Miika Turkia
5430eec99d New location management for divelogs.de export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-07 07:24:11 -07:00
Miika Turkia
c8e542e5d3 UDDF export: adapt to new dive site management
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-07 07:23:46 -07:00
Miika Turkia
e8df3da9e3 CSV export: support for new location management
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-09-06 07:40:40 -07:00
Miika Turkia
21d8d26da1 CSV import: imperial support for cylinder pressure
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-31 10:32:27 -07:00
Miika Turkia
232001a1f5 CSV import: implement unit conversion for temperature
If input is in F, we need to convert it to C on import.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-31 10:32:23 -07:00
Miika Turkia
d7a5bae4c8 CSV import: fix imperial conversion for weight
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-31 10:32:17 -07:00
Miika Turkia
02488ba9df CSV import: add XSLT support for DC hw info
Include the DC's hardware name if it was given as parameter on CSV
import.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-27 06:34:04 -07:00
Miika Turkia
615f45e58b CSV import: create o2 and diluent cylinders for CCR
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-27 06:33:57 -07:00
Miika Turkia
2fc54b6855 Add setpoint support on CSV import (XSLT parsing)
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-07-21 07:34:13 -07:00
Anton Lundin
feb15a5498 Set the number of o2 sensors on a CSV import
Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-27 14:43:28 -07:00
Anton Lundin
d3d5f88384 Correctly tag a CSV imported CCR dive as CCR
This looks if we're importing any o2 values form the csv file, then its
probably a CCR dive.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-27 14:43:19 -07:00
Anton Lundin
4867363ec5 Move model tagging to xslt
Instead of replacing all the empty model tags after a csv to xml
transform with some text, just produce that text in the csv to xml
transform instead.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-27 14:43:04 -07:00
Anton Lundin
f04b3bc166 Add support for importing O2 sensors from CSV file
This adds support for importing individual O2 sensors from a CSV file,
e.g. an APD log viewer file.

Signed-off-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-06-27 14:42:05 -07:00
Miika Turkia
95c2c06be4 Clean up MacDive location conversion
We got additional slashes in front of the site if country and/or
location was missing.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-21 08:47:29 -07:00
Miika Turkia
69b4a404b9 Ignore the gas_change alarm on MacDive import
As the gas changes can be parsed more reliably from the gases list, we
just ignore the gas_change events as redundant information.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:17:17 -07:00
Miika Turkia
30a60f34b6 Parse MacDive gas usage from gases list
Gas change events can be parsed properly from the gases list with clear
information on what the gas mixture was.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:17:10 -07:00
Miika Turkia
381f702017 Use function from commonTemplates on MacDive import
Get rid of duplicate function.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:17:03 -07:00
Miika Turkia
55a7715be0 Import tags from MacDive
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:16:57 -07:00
Miika Turkia
973713e9db Parse the MacDive gaschange values
Fixes #869

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:16:47 -07:00
Miika Turkia
9cd79776f2 Fix event name for MacDive gas changes
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-07 11:16:40 -07:00
Miika Turkia
178fb5152f Add new fields as extra data on MacDive import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-04 10:55:47 -07:00
Miika Turkia
01faebc99b Add entryType as tag on MacDive import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-04 10:55:41 -07:00
Miika Turkia
fdd714435e Have computer data inside divecomputer tag
This includes all the data computer related data within the divecomputer
tag. All the extra noise is just indentation (apart from moving the
divecomputer end tag).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-04 10:55:29 -07:00
Miika Turkia
4f5db4a11f Re-order the MacDive import
Next commit will do indentation so this one will keep it clear of what
actually occurs.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-04 10:55:24 -07:00
Miika Turkia
6cd71882f2 Support for new data format for MacDive
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-04 10:55:20 -07:00
Miika Turkia
1559eb590d Use dynamic sample interval on divelogs.de export
Rounding always up should give us sensible sample interval as EON Steel
adds extra samples.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-02 11:25:57 -07:00
Miika Turkia
4f83bb9236 Have the dive duration in variable for further use
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-05-02 11:25:35 -07:00
Miika Turkia
c21883c419 Select only "meaningful" samples for divelogs.de export
The logic to select samples from EON Steel for divelogs.de export is the
following:
- Ignore sample at time zero, as that is surface, and the second "odd"
  sample contains information we are interested in
- Grab the second sample, first sample with pressure and temperature
  readings
- Grab the third sample - "grand parent" is 0, thus our first interval
  sample
- Grab the samples when the predecessor (or grand parent) is at least 10
  seconds away

This logic seems to produce reasonable results when exporting EON Steel
logs to divelogs.de. Naturally there might be corner cases, that are not
taken into account, but this basic logic seems reasonable in normal
cases. (Unfortunately analysis is done based on a single dive.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-30 16:55:39 -07:00
Miika Turkia
3f25f84127 Use variable to track special handling of DCs
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-30 16:55:01 -07:00
Miika Turkia
5ab0cac1ca Set EON Steel sample interval to 10s on
This sets the Suunto EON Steel sample interval to 10 seconds when
exporting to divelogs.de.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-30 16:54:27 -07:00
Miika Turkia
c80d1879b7 Add suit field for CSV import
Fixes #853

[Dirk Hohndel: fixed test compile]

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-04-24 06:50:50 -07:00
Miika Turkia
86ac7fdf47 Import support for new Seabear format
This add support for Seabear's new import format that is used by H3 and
T1. In the future also the Hudc  should switch to the new format. The
main difference to the old one is that time stamps are no longer
recorded in the samples, but intervali is specified in the header.

The header contains other useful information as well that we should
build support for. E.g. surface pressure, gas mixes, GF, and mode might
be useful additions later on.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-03-23 05:44:06 -07:00
Dirk Hohndel
f1f02941c7 Merge branch 'v4.4-branch' back into master
The manuals all will need a careful read.
The changes to use lsb-release and the PCLinuxOS specific files got lost
because I didn't want to try to rewite this in the middle of a merge.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>

Conflicts:
	Documentation/50-pot/subsurface-manual.pot
	Documentation/fr/po/subsurface-manual.fr.po
	Documentation/user-manual.txt
	Documentation/user-manual_es.txt
	Documentation/user-manual_fr.html.git
	Documentation/user-manual_fr.txt
	Documentation/user-manual_ru.html.git
	Documentation/user-manual_ru.txt
	file.c
	qthelper.cpp
	subsurface.pro
	subsurfacesysinfo.cpp
	xslt/DiveLog.xslt
2015-02-19 19:44:37 -08:00
Miika Turkia
554b652d25 DiveLog import: Only include weight when available
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-18 11:11:03 -08:00
Miika Turkia
541ec4fcac Add some extra data for DiveLog import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-18 11:10:54 -08:00
Miika Turkia
b87eb78192 Add serial number to DiveLog import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-18 11:10:38 -08:00
Miika Turkia
f7365015ff Include Boat in DiveLog import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-18 11:10:32 -08:00
Miika Turkia
265128451f Add visibility and weather to dive notes
This adds a bit more information to dive notes on DiveLog import.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 14:07:25 -08:00
Miika Turkia
169fb32484 Add time to DiveLog import
I originally thought about converting the time as well, but my fingers
were too slow and memory too short to actually do that :D

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 14:07:22 -08:00
Miika Turkia
3aaa995fc9 XSLT to import MacDive logs
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 14:06:55 -08:00
Miika Turkia
371feac82f Add visibility and weather to dive notes
This adds a bit more information to dive notes on DiveLog import.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 12:29:00 -08:00
Miika Turkia
4f26240b55 Add time to DiveLog import
I originally thought about converting the time as well, but my fingers
were too slow and memory too short to actually do that :D

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 12:28:56 -08:00
Miika Turkia
3f070eadd1 XSLT to import MacDive logs
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-17 12:28:17 -08:00
Martin Long
dca78fe6fc UDDF Export: Moved equipmentused to informationbeforedive section as per updated spec
Signed-off-by: Martin Long <martin@longhome.co.uk>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11 16:15:28 -08:00
Martin Long
9b6c546244 UDDF Export: Moved tankdata before samples, as expected in xsd definition.
Signed-off-by: Martin Long <martin@longhome.co.uk>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-11 16:15:19 -08:00
Miika Turkia
737b5bdd5c Count the UDDF samples in different namespaces
Since UDDF import uses different namespaces, we need to count the
temperature samples in all of them to get temperature readings from
waypoints.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-02-01 07:09:59 -08:00
Miika Turkia
7a6b91a67e Should use the common GetFieldByIndex on import
Should have removed the getFieldByIndex template from these files when
it was moved to commonTemplates. Otherwise these imports wont work.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-31 10:14:31 -08:00
Miika Turkia
1b48b19d0b Export cylinder information to divelogs.de also if pressure dropped
This will export the cylinder information to divelogs.de also if there
is a pressure drop of at least 5 bars. (Previously only a gas switch to
the gas triggered the export of that particular cylinder.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-29 09:38:47 -08:00
Miika Turkia
81c0f39fa7 Use the get field template from common templates
Implementation of getFieldByIndex on this file does not support
quotation so lets use a template that is developed further.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-26 09:25:36 -08:00
Miika Turkia
793758c483 Move getFieldByIndex template to common templates
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-26 09:25:29 -08:00
Miika Turkia
99d95c3436 Update header to use sample wording on CSV export
The profile export now uses Sample time, etc. on profile export as that
is the naming we use on import as well.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-26 09:25:21 -08:00
Miika Turkia
7c43ca9035 Support for AM/PM time format on manual CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-25 12:02:13 -08:00
Miika Turkia
d57ffa8e58 Import quoted strings from the end of line properly
We need a special case to import tags on our own CSV export as there is
no field separator at the end of the line.

See #814

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-25 07:24:12 -08:00
Miika Turkia
3b8643af4f Fix detection of numeric field
Discarding header lines was faulty as the test whether dive number was
numeric did not work properly.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-24 14:51:24 -08:00
Miika Turkia
8e75243a5b Improve detection of continuation lines in CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-24 14:51:00 -08:00
Miika Turkia
6c82578540 Switching to tab delimited CSV export
Use tab as separator when exporting dive details to CSV file. This also
replaces tabs and line feeds from notes with spaces.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-24 14:50:16 -08:00
Miika Turkia
54aa6dd91f Fix quoted CSV import
I am a bit baffled as to how this used to work before and does not work
anymore. Anyway, it should be sufficient that we take the quoted text
without verifying that the next character is the field separator. (Of
course it would be better to make sure field separator follows, as then
quotation marks could be used in the free-form texts.)

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-23 17:43:08 +12:00
Miika Turkia
c5075b93a2 Have Sensus samples inside divecomputer tag
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-23 17:42:20 +12:00
Miika Turkia
f8f5e73dae Improve testing whether we have temp and depth info
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-22 21:49:08 +12:00
Dirk Hohndel
e544796199 Add missing divemaster field to the manual import
No idea why I didn't notice earlier that this was missing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-06 20:19:45 -08:00
Miika Turkia
4dff1e7b93 Indentation fix for Subsurface CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-05 09:13:40 -08:00
Miika Turkia
182ea3ea6c Support for multi-line notes on SubsurfaceCSV import
This patch only implements the feature, indentation fix is to follow.
This ensures that the actual change can be more easily reviewed.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-05 09:13:35 -08:00
Miika Turkia
c00a5614f3 Add required empty fields on CSV export
We need to have empty field printed for every value on the CSV export.
Hopefully this is enough.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2015-01-05 09:06:05 -08:00
Miika Turkia
16c46ba2f8 Export only profile from first divecomputer
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:13:11 -08:00
Miika Turkia
77a7595cbd Imperial support for CSV profile export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:13:04 -08:00
Miika Turkia
205c893fc3 Include cylinder description for imperial import
If the cylinder size seems to be in the form of ALxx, LPxx, or HPxx use
that as cylinder description.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:12:53 -08:00
Miika Turkia
48019a73d5 Imperial support for CSV details export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 12:12:26 -08:00
Miika Turkia
d70a6f23ed Change the XSLT to use the duration format instead of "logic"
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:35:36 -08:00
Miika Turkia
0f7c4ecd90 Treat duration as minutes if dive would be short
This will read duration from CSV in minutes if the dive would be less
than 10 minutes when treating the duration as seconds.

In practice, this means that free-divers cannot import dive duration
properly from CSV, but this should be sensible for scuba divers.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:19:19 -08:00
Miika Turkia
83ccf24e1e Support importing quoted multi-line notes field
This adds support for importing multi-line notes field on CSV import.
Naturally the notes filed must be quoted with " in this case.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-31 08:19:12 -08:00
Miika Turkia
c5d3d923a0 Guess imperial cylinder sizes on CSV import
This patch uses pre-defined working pressures on cylinders to roughly
calculate the size in liters. Imperial selection is ignored here as we
can use the prefix to detect if the value seems like imperial unit (and
the type of cylinder varies based on location, not divers preference in
unit).

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-30 11:47:55 -08:00
Miika Turkia
3416278da4 Allow unit selection on known CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-30 07:35:23 -08:00
Miika Turkia
1e04aec7fd Preconfigured import of Subsurface CSV log file
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-26 08:43:43 -08:00
Miika Turkia
e471335af6 Include tags on CSV export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-26 08:43:37 -08:00
Miika Turkia
e750eb1686 Export total weight on CSV export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-26 08:43:30 -08:00
Miika Turkia
0b040b769d Store more cylinder information on manual CSV export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-26 08:43:24 -08:00
Miika Turkia
4cf0f77d8a Save info only from first cylinder on CSV export
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-26 08:41:08 -08:00
Miika Turkia
7c23a08921 Support quoting strings with "" on manual CSV import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:26:19 -08:00
Miika Turkia
a950365b6f Include some empty fields if they are not available
If specific value is not available, we need to have an empty value
instead.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:25:52 -08:00
Miika Turkia
663f6eef0b Include empty location and gps if non is given
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:25:35 -08:00
Miika Turkia
f9b7b9bba0 Take pressure info from first DC on CSV export
Try to grab pressure information from first DC if it is not manually
entered.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:25:16 -08:00
Miika Turkia
f1b3ecbfa9 Take depths from first DC on CSV export
We need to limit the DCs from which we grab the depths. Otherwise, we
end up with too many depth values.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:23:50 -08:00
Miika Turkia
898a62f888 Grab divecomputer/temperature on CSV export
If temperature is recorded by a DC it must be taken from under the
divecomputer tag. However, this will prefer the manually written value
if such exists.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-22 14:23:38 -08:00
Dirk Hohndel
74f5842f0c Add second CSV export with dive details
This is intended to export all the details that someone might copy from a
paper logbook. We need a matching import template to make this simple.

This hasn't been well tested, I'm sure it will break when elements and
attributes are missing.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-21 21:51:54 -08:00
Miika Turkia
cdb3c87b5d Add cylinder support to manual2xml XSLT
This adds support for importing cylinder information from manually kept
dive logs. However, this cannot be used before GUI counterpart is added.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-20 11:30:18 -08:00
Miika Turkia
3343634fc9 Add temperature support to manual2xml XSLT
This adds support for importing temperatures from manually kept dive logs.
However, this cannot be used before GUI counterpart is added.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-20 11:30:06 -08:00
Miika Turkia
64c735f2ae Fix a bug that added 0, 0 as location on manual CSV import
The existence of location information was tested incorrectly resulting
in erroneously adding these fields if they were not present.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-20 11:29:56 -08:00
Miika Turkia
683d6e1339 Describe cylinder as unknown instead of mix name
Having the mix name like EANX34 as cylinder description was apparently
confusing, so switching to 'unknown' instead.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-19 08:56:46 -08:00
Miika Turkia
299a85f668 Support cylinder information from Xdeep and Diving Log
This adds support for importing cylinder information from at least Xdeep
and Diving Log v 5.0.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-17 07:51:43 -08:00
Miika Turkia
ff338f62c2 Move the samples inside divecomputer tag on UDDF import
Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-16 21:54:46 -08:00
Martin Long
51fdf86a2b Fix event/alarm types in UDDF export.
UDDF only supports a specific set of alarms. Some events also don't map
to alarms but map to other types of elements in UDDF.

This patch adds a map of the accepted types. Where a map doesn't exist
the type will not be mapped to an alarm, the option then remains to
map it to another kind of element, in the same way that happened with
headings and gas switches.

This removes the need for the specific exclusion of heading and
gas switch, as they are now simply not included in the map.

Signed-off-by: Martin Long <martin@longhome.co.uk>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-14 23:22:05 -08:00
Miika Turkia
fef56399b9 Count the weights properly on UDDF export
Using node() along with the node-set seems to grab the weights properly
for me.

Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2014-12-14 10:06:34 -08:00