API for manage hosts file
Project description
hostsmgr (Hosts Manager)
API for manage hosts file
Free software: Apache-2.0
Documentation: https://hostsmgr.readthedocs.io.
Features
Usage
from hostsmgr import HostsMgr
from hostsmgr.hostsmgr import guess_hosts_path
from hostsmgr.conditions import Any, All, IPAddress, Host, InlineComment
mgr = HostsMgr()
# Load system hosts file
mgr.load(guess_hosts_path())
# Save hosts to another place (Must open with text mode !)
mgr.save(open('/etc/hosts.old', 'w'))
# Save hosts to string with hosts file format
hosts_string = mgr.saves()
# Find all hosts entries that with 127.0.0.1 address
entries = mgr.find(IPAddress('127.0.0.1'))
# Find all entries that contained specific host
entries = mgr.find(Host('localhost'))
# Find all entries that contained specificed ip address and host both
entries = mgr.find(IPAddress('127.0.0.1') & Host('localhost'))
# Find all entries that contained either hosts
entries = mgr.find(Host('ip6-localhost') | Host('localhost'))
# Find all entries that contained either hosts, another method
entries = mgr.find(Any(Host('ip6-localhost'), Host('localhost')))
# Find all entries that contained both hosts
entries = mgr.find(Host('ip6-localhost') & Host('localhost'))
# Find all entries that contained both hosts, another method
entries = mgr.find(All(Host('ip6-localhost'), Host('localhost')))
# Find all entries that contained target inline comment
entries = mgr.find(InlineComment('THIS_IS_A_TAG'))
# Find only one entry that contained target inline comment
entries = mgr.find(InlineComment('THIS_IS_A_TAG'), at_most=1)
# Remove an entry that found by find()
mgr.remove(entry)
# Remove all hosts from hosts entries
mgr.remove_hosts(['localhost', 'ip6-localhost'])
# Remove all entries by inline comment exactly matched
mgr.remove_by_inline_comment(InlineComment('TAG_FOR_EXAMPLE'))
# Remove all entries by inline comment partial matched
mgr.remove_by_inline_comment(InlineComment('TAG_FOR_EXAMPLE', partial=True))
Credits
This package was created with Cookiecutter and the PyPackageTemplate project template.
History
0.0.1 (2018-04-15)
First release on PyPI.
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
hostsmgr-0.2.5.tar.gz
(20.4 kB
view details)
File details
Details for the file hostsmgr-0.2.5.tar.gz
.
File metadata
- Download URL: hostsmgr-0.2.5.tar.gz
- Upload date:
- Size: 20.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f9b16c194af91ba945d3c191907161d280cc58f8c0395d3cbeeeca9f4f7e061c |
|
MD5 | d6636a3615d3d54dc6affc2d7c958047 |
|
BLAKE2b-256 | 7b466809ed7f7717a334eb9ccd07161cd90676ebb8f99c9afa48a8518dc94c49 |