peeringdb
PeeringDB module.
- exception spicerack.peeringdb.CacheMiss[source]
Bases:
SpicerackErrorCustom exception class for cache management.
- exception spicerack.peeringdb.PeeringDBError[source]
Bases:
SpicerackErrorCustom exception class for errors of the PeeringDB class.
- class spicerack.peeringdb.PeeringDB(*, ttl: int = 86400, cachedir: pathlib.Path | None = None, proxies: collections.abc.MutableMapping[str, str] | None = None, token: str = '')[source]
Bases:
objectBasic dumb wrapper over the PeeringDB API.
Implements the beta/v0 PeeringDB API. Tries to be smart by:
keeping a persistent keep-alived session for multiple requests
operating a local filesystem cache, if so desired.
Initiliaze the module.
- Parameters:
ttl (
int, default:86400) -- TTL for cached objects.cachedir (
typing.Optional[pathlib.Path], default:None) -- Root path for objects caching.proxies (
typing.Optional[collections.abc.MutableMapping[str,str]], default:None) -- Proxies for Internet access.token (
str, default:'') -- PeeringDB read-only token.
- fetch(resource: str, resource_id: int | None = None, filters: dict | None = None) dict[source]
Get a PeeringDB resource.
- Parameters:
resource (
str) -- The PeeringDB resource requested.resource_id (
typing.Optional[int], default:None) -- Optional resource number.filters (
typing.Optional[dict], default:None) -- A dictionary of addtional filter parameters.
- Return type: