Host list converter supporting hosts(5), ethers(5) and other formats
Project description
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
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c31cb8807078479913a15ea82ce743f45aba8ef67a4ae4b44aee60369b1bf8f |
|
MD5 | 774f5d738b162eca012ae6eb13b99acc |
|
BLAKE2b-256 | 72846b9eb772843b1302ae3d71baf21bcb2cfedc172d190e24893ed378f29c75 |
File details
Details for the file hlc-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: hlc-0.3.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65bb7a64abf23c3e36b7a51247f884e2f24e333fee657b1c27571106b03d00d3 |
|
MD5 | 2347b76a185c85097d6f842966a6f16f |
|
BLAKE2b-256 | c9a4b96126b9a9285945e0bd2592670674a199df3be88244bfb7c58d75a7b311 |