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

Uploaded Source

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

Hashes for hostsmgr-0.2.5.tar.gz
Algorithm Hash digest
SHA256 f9b16c194af91ba945d3c191907161d280cc58f8c0395d3cbeeeca9f4f7e061c
MD5 d6636a3615d3d54dc6affc2d7c958047
BLAKE2b-256 7b466809ed7f7717a334eb9ccd07161cd90676ebb8f99c9afa48a8518dc94c49

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