pif package

Submodules

pif.base module

class pif.base.BasePublicIPChecker(verbose=False)[source]

Bases: object

Base public IP checker.

get_local_ip()[source]

Get local IP.

Return str:
get_public_ip()[source]

Get public IP.

Return str:
uid = None
verbose = False
class pif.base.PublicIPCheckerRegistry[source]

Bases: object

Registry of public IP checkers.

get(uid)[source]

Get item from registry.

Parameters:uid (str) –
Return BasePublicIPChecker:
 Subclass of BasePublicIPChecker.
register(cls)[source]

Register the IP checker in the registry.

Parameters:
  • cls (pif.base.BaseIPChecker) – Subclass of pif.base.BaseIPChecker.
  • force (bool) – If set to True, item stays forced. It’s not possible to un-register a forced item.
Return bool:

True if registered and False otherwise.

registry

Registry.

unregister(checker)[source]

Un-registers an item from registry.

Parameters:checker (mixed) – May be a subclass of pif.base.BasePublicIPChecker or string, representing the checker name.
Return bool:True if unregistered and False otherwise.

pif.benchmark module

pif.benchmark.run_benchmark_test()[source]

Run the benchmark test to identify the fastest provider.

pif.conf module

pif.defaults module

pif.discover module

pif.discover.autodiscover()[source]

Autodiscovers the pif IP checkers in checkers directory.

pif.exceptions module

exception pif.exceptions.InvalidRegistryItemType[source]

Bases: exceptions.ValueError

Raised when an attempt is made to register an irrelevant item.

Raised when an attempt is made to register an item in the registry which does not have a proper type.

pif.helpers module

pif.helpers.project_dir(base)[source]

Get absolute project directory path.

pif.helpers.PROJECT_DIR(base)

Get absolute project directory path.

pif.tests module

pif.tests.log_info(func)[source]

Prints some useful info.

class pif.tests.PifTest(methodName='runTest')[source]

Bases: unittest.case.TestCase

Tests.

setUp()[source]

Set up.

test_01_autodiscover(*args, **kwargs)[source]
test_02_get_public_ip(*args, **kwargs)[source]
test_03_get_public_ip_using_preferred_checker(*args, **kwargs)[source]
test_04_list_checkers(*args, **kwargs)[source]
test_05_unregister_checker(*args, **kwargs)[source]
test_06_register_custom_checker(*args, **kwargs)[source]
test_07_get_local_ip(*args, **kwargs)[source]

pif.utils module

pif.utils.ensure_autodiscover()[source]

Ensure the IP checkers are auto-discovered.

pif.utils.list_checkers()[source]

List available checkers.

Return list:
pif.utils.get_public_ip(preferred_checker=None, verbose=False)[source]

Get IP using one of the services.

Parameters:
  • preferred_checker (str) – Checker UID. If given, the preferred checker is used.
  • verbose (bool) – If set to True, debug info is printed.
Return str:

Module contents