6.9.2

# import_inv

Import inventory information from various sources.

## Description

import_inv is a wrapper for inventory converters. Inventory converters convert an input format such as

Format | Converter | Conversion
--- | --- | ---
scml | scml2inv | SeisComP inventory XML, schema: `$SEISCOMP_ROOT/share/xml/`
sc3 | sc32inv | Alias for scml for backwards compatibility to SeisComP3
arclink | arclink2inv | Arclink inventory XML
dlsv | dlsv2inv | dataless SEED
fdsnxml | fdsnxml2inv | FDSN StationXML

to SeisComP inventory XML which is read by the trunk config module to synchronize the local inventory file pool with the central inventory database.

For printing all available formats call

    $ import_inv help formats

When import_inv help formats is called it globs for `$SEISCOMP_ROOT/bin/*2inv`. If another format needs to be converted, it is very easy to provide a new converter.

### Converter interface

For making a new converter work with import_inv it must implement an interface on shell level. Furthermore the converter program must be named `format2inv` and must live in `SEISCOMP_ROOT/bin`.

The converter program must take the input location (file, directory, URL, …) as first parameter and the output file (SeisComP XML) as second parameter. The output file must be optional and default to stdout.

To add a new converter for a new format, e.g. Excel, place the new converter program at `$SEISCOMP_ROOT/bin/excel2inv`.

### Examples

- Convert inventory file in FDSN StationXML format (fdsnxml) and copy the content to `$SEISCOMP_ROOT/etc/inventoy/inventory.xml`. The call will invoke fdsnxml2inv for actually making the conversion:

      $ import_inv fdsnxml inventory_fdsn.xml $SEISCOMP_ROOT/etc/inventoy/inventory.xml

## Module Configuration

`etc/defaults/global.cfg`
`etc/defaults/import_inv.cfg`
`etc/global.cfg`
`etc/import_inv.cfg`
`~/.seiscomp/global.cfg`
`~/.seiscomp/import_inv.cfg`

import_inv inherits global options.

## Command-Line Options

import_inv [FORMAT] input [output]

import_inv help [topic]

The first form takes the format as first parameter and the input and output location. The input location is either a file or directory depending on the format and its converter. If the output is not given it defaults to seiscomp/etc/inventory/{input}.xml. To write the output to stdout, "-" must be used.

The second form provides help on a particular topic. The only topic currently supported is "formats" which prints all available input formats.

### Generic

-h, --help

  Show help message.

-V, --version

  Show version information.

--config-file arg

  Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it. Example: scautopick -> scautopick2.

--plugins arg

  Load given plugins.

-D, --daemon

  Run as daemon. This means the application will fork itself and doesn’t need to be started with &.

--auto-shutdown arg

  Enable/disable self-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message (enabled with --start-stop-msg for the master module).

--shutdown-master-module arg

  Set the name of the master-module used for auto-shutdown. This is the application name of the module actually started. If symlinks are used, then it is the name of the symlinked application.

--shutdown-master-username arg

  Set the name of the master-username of the messaging used for auto-shutdown. If "shutdown-master-module" is given as well, this parameter is ignored.

### Verbosity

--verbosity arg

  Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug.

-v, --v

  Increase verbosity level (may be repeated, eg. -vv).

-q, --quiet

  Quiet mode: no logging output.

--component arg

  Limit the logging to a certain component. This option can be given more than once.

-s, --syslog

  Use syslog logging backend. The output usually goes to /var/lib/messages.

-l, --lockfile arg

  Path to lock file.

--console arg

  Send log output to stdout.

--debug

  Execute in debug mode. Equivalent to --verbosity=4 --console=1 .

--log-file arg

  Use alternative log file.