Skip to main content

API for manage hosts file

Project description

hostsmgr (Hosts Manager)

https://img.shields.io/pypi/v/hostsmgr.svg https://img.shields.io/travis/starofrainnight/hostsmgr.svg https://ci.appveyor.com/api/projects/status/lx6dwcisa6bolsqw?svg=true Documentation Status Updates

API for manage hosts file

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 hashes)

Uploaded Source

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