This supports CSV and similar formats, as well as sailline
imports, which is a CSV file with a specific set of column
definitions.
Does not yet support P111 import (for which there is an
implementation already).
This supports reading: SPSv1, SPSv2.1, P190 and custom
fixed-width formats. Supports skipping lines by startswith()
matching or by complete match (e.g., "EOF").
Closes#300 (SPS v1)
Closes#301 (SPS v2.1)
Closes#302 (P1/90)
- `tooltip` takes the name of a GeoJSON property that will be
shown in a tooltip when hovering the mouse over a feature.
- `popup` can take either the name of a property as above, or
the boolean value `true`. In the latter case, a table of all
the feature's properties will be shown when clicking on the
feature. In the former case, only the value of the designated
property will be shown.
- Now a layer may consist of a path pointing to a directory plus a
glob, or a path pointing directly to a single file.
- If a file already exists in the database, check if the layer
name has changed and if so, update it.
- Do not import the actual file contents, as the path is enough
(it can be retrieved via the /file/:path API endpoint).
As the survey definitions will no longer be stored in files
under etc/surveys/ but directly on the database, this
function replaces configuration.surveys()
The Dougal database will no longer store physical file paths
but rather logical ones, relative to (config.yaml).imports.paths.
These functions translate between physical and logical paths.
A configuration item `imports.mounts` is added to
`etc/config.yaml`. This should be a list of paths
which must be non-empty. If any of the paths in that
list is empty, runner.sh will abort.
Closes#200.
The script bin/daily_tasks.py is intended to be run shortly after
midnight every day (e.g., via cron).
At the moment it inserts any missing LDSP / FDSP events. It can
be extended with other tasks as needed either by expanding
Datastore.run_daily_tasks() or by adding to bin/daily_tasks.py.
Fixes#223.
This script now works with the new event log.
Fixes#234. Midnight positions can be added via a cronjob such
as:
$DOUGAL_ROOT/BIN/insert_event.py -t "$(date -I) 00:00:00Z" \
-l Daily -l Prod \
"Midnight position: @DMS@ (@POS@)"
When importing an old project, the first QC run could take a while
and cause a bit of backlog, but during normal shooting it is expected
that it will finish quite quickly (and this is monitored anyway).
Commands used:
find . -type f -name '*.js'| while read FILE; do if echo $FILE |grep -qv node_modules; then sed -ri 's/^\s+$//' "$FILE"; fi; done
find . -type f -name '*.vue'| while read FILE; do if echo $FILE |grep -qv node_modules; then sed -ri 's/^\s+$//' "$FILE"; fi; done
find . -type f -name '*.py'| while read FILE; do if echo $FILE |grep -qv node_modules; then sed -ri 's/^\s+$//' "$FILE"; fi; done