Developer Interface

This part of the documentation should cover all the relevant interfaces of dyndnsc.

Main Interface

All of dyndnsc’ functionality can be accessed by these methods.

class dyndnsc.DynDnsClient(updater=None, detector=None, plugins=None, detect_interval=300)[source]

This class represents a client to the dynamic dns service.

check()[source]

Check if the detector changed and call sync() accordingly.

If the sleep time has elapsed, this method will see if the attached detector has had a state change and call sync() accordingly.

has_state_changed()[source]

Detect a change either in the offline detector or a difference between the real DNS value and what the online detector last got. This is efficient, since it only generates minimal dns traffic for online detectors and no traffic at all for offline detectors.

Return type:boolean
needs_check()[source]

Check if enough time has elapsed to perform a check().

If this time has elapsed, a state change check through has_state_changed() should be performed and eventually a sync().

Return type:boolean
needs_sync()[source]

Check if enough time has elapsed to perform a sync().

A call to sync() should be performed every now and then, no matter what has_state_changed() says. This is really just a safety thing to enforce consistency in case the state gets messed up.

Return type:boolean
sync()[source]

Synchronize the registered IP with the detected IP (if needed).

This can be expensive, mostly depending on the detector, but also because updating the dynamic ip in itself is costly. Therefore, this method should usually only be called on startup or when the state changes.