Skip to main content

Host list converter supporting hosts(5), ethers(5) and other formats

Project description

Build Status Version License Python versions dev status pypi monthly downloads

host list conveter supporting hosts(5), ethers(5) and other formats.

Python script which can convert different types of host or workstation lists. Refer to the Synopsis for currently supported input and output formats.

If you need support for another input/output format it should be pretty straight forward to add it.

Refer to the Makefile and the test_data for usage examples.

Synopsis

usage: hlc [-h] [-V] [-d] [-v] [-q]
           [-f {paedml_linux,json,ms_dhcp,linuxmuster_net}] [-o OUTPUT_FILE]
           [-t {paedml_linux,json,ethers,hosts}] [-e EXTRA_VARS]
           [-I IGNORE_FQDN_REGEX] [-r RENAME_CSV_FILE]
           input_file [input_file ...]

The host list converter (hlc).

positional arguments:
  input_file            File path to the input file to process. '-' will read
                        from STDIN.

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show program's version number and exit
  -d, --debug           Write debugging and higher to STDOUT|STDERR.
  -v, --verbose         Write information and higher to STDOUT|STDERR.
  -q, --quiet, --silent
                        Only write errors and higher to STDOUT|STDERR.
  -f {paedml_linux,json,ms_dhcp,linuxmuster_net}, --input-format {paedml_linux,json,ms_dhcp,linuxmuster_net}, --from {paedml_linux,json,ms_dhcp,linuxmuster_net}
                        Format of the input file. Default: json.
  -o OUTPUT_FILE, --output-file OUTPUT_FILE
                        Where to write the output file. '-' will read from
                        STDIN. If not given, no final output will be produced.
  -t {paedml_linux,json,ethers,hosts}, --output-format {paedml_linux,json,ethers,hosts}, --to {paedml_linux,json,ethers,hosts}
                        Format of the output file. Default: json.
  -e EXTRA_VARS, --extra-vars EXTRA_VARS
                        Set additional variables as key=value to change the
                        behavior of how different input/output formats are
                        processed.
  -I IGNORE_FQDN_REGEX, --ignore-fqdn-regex IGNORE_FQDN_REGEX
                        Regular expression checked against the input FQDNs. If
                        the regular expression matches, the FQDN will not be
                        exported.
  -r RENAME_CSV_FILE, --rename-csv-file RENAME_CSV_FILE
                        Allows you to do mass rename via a provided CSV file.
                        It is based on substation using regular expressions.
                        The first column is a case insensitive search pattern,
                        the second one the replacement string.

Install

You can install hlc by invoking the following commands:

gpg --recv-keys 'C505 B5C9 3B0D B3D3 38A1  B600 5FE9 2C12 EE88 E1F0'
mkdir --parent /tmp/hlc && cd /tmp/hlc
wget -r -nd -l 1 https://pypi.python.org/pypi/hlc --accept-regex '^https://(test)?pypi.python.org/packages/.*\.whl.*'
current_release="$(find . -type f -name '*.whl' | sort | tail -n 1)"
gpg -v "${current_release}.asc" && pip3 install "${current_release}"

Refer to Verifying PyPI and Conda Packages for more details.

Or if you feel lazy and agree that pip/issues/1035 should be fixed you can also install hlc like this:

pip3 install hlc

Supersedes

Authors

License

GNU Affero General Public License v3 (AGPL-3.0)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hlc-0.3.0.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

hlc-0.3.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file hlc-0.3.0.tar.gz.

File metadata

  • Download URL: hlc-0.3.0.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for hlc-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3c31cb8807078479913a15ea82ce743f45aba8ef67a4ae4b44aee60369b1bf8f
MD5 774f5d738b162eca012ae6eb13b99acc
BLAKE2b-256 72846b9eb772843b1302ae3d71baf21bcb2cfedc172d190e24893ed378f29c75

See more details on using hashes here.

File details

Details for the file hlc-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hlc-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 65bb7a64abf23c3e36b7a51247f884e2f24e333fee657b1c27571106b03d00d3
MD5 2347b76a185c85097d6f842966a6f16f
BLAKE2b-256 c9a4b96126b9a9285945e0bd2592670674a199df3be88244bfb7c58d75a7b311

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page