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.

Filename, size & hash SHA256 hash help File type Python version Upload date
hostsmgr-0.2.5.tar.gz (20.4 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page