Keyword

class Cauldron.local.dispatcher.Keyword[source] [edit on github]

Bases: Cauldron.base.dispatcher.Keyword

A dispatcher-based keyword, which should own its own values.

Attributes Summary

full_name Full name.
name Keyword name.
service
value Map .value to ._last_value, the cauldron internal location of this variable.

Methods Summary

callback(function[, remove]) Register a function to be called whenever this keyword is set to a new value.
check(value) Check that ‘value’ is appropriate for this keyword.
modify(value) Modify this keyword’s value.
period(period) How often a keyword should be updated.
postread(value) Take some action post-read.
postwrite(value) Take some action post-write.
preread() Take some action before this value is read.
prewrite(value) Any actions which need to occur before a value is written.
read() Read the value from the authority source.
schedule([appointment, cancel]) Schedule an update.
set(value[, force]) Set the keyword to the value provided, and broadcast changes.
translate(value) Translate a value into a standard representation.
update() Update the value by performing a read.
write(value) Write the value to the authority source.

Attributes Documentation

full_name

Full name. Includes Keyword and Service name.

name

Keyword name.

service = None
value

Map .value to ._last_value, the cauldron internal location of this variable.

Methods Documentation

callback(function, remove=False)[source] [edit on github]

Register a function to be called whenever this keyword is set to a new value.

check(value)[source] [edit on github]

Check that ‘value’ is appropriate for this keyword. If it is not, raise a value error.

This method can be overridden to provide specific behavior in user subclasses.

modify(value)[source] [edit on github]

Modify this keyword’s value. This is the public function which should be called to change a keyword value.

period(period)[source] [edit on github]

How often a keyword should be updated.

Note

Cauldron backends are not required to implement this function. If the do not, it will raise an CauldronAPINotImplemented error.

postread(value)[source] [edit on github]

Take some action post-read. Called at the end of update().

This method can be overridden to provide specific behavior in user subclasses.

postwrite(value)[source] [edit on github]

Take some action post-write.

This method can be overridden to provide specific behavior in user subclasses.

preread()[source] [edit on github]

Take some action before this value is read. Called at the start of update().

This method can be overridden to provide specific behavior in user subclasses.

prewrite(value)[source] [edit on github]

Any actions which need to occur before a value is written. Called to adjust the value in modify().

This can raise NoWriteNecessary if a write is not necessary.

This method can be overridden to provide specific behavior in user subclasses.

read()[source] [edit on github]

Read the value from the authority source. Called to get the value for update().

This method can be overridden to provide specific behavior in user subclasses.

schedule(appointment=None, cancel=False)[source] [edit on github]

Schedule an update.

Note

Cauldron backends are not required to implement this function. If the do not, it will raise an CauldronAPINotImplemented error.

set(value, force=False)[source] [edit on github]

Set the keyword to the value provided, and broadcast changes.

Parameters:
  • value – The keyword value.
  • force (bool) – Whether to force the change, or ignore repeatedly setting a keyword to the same value.
translate(value)[source] [edit on github]

Translate a value into a standard representation.

For e.g. an enumerated keyword, this should return the ascii representation of the underlying integer.

This method can be overridden to provide specific behavior in user subclasses.

update()[source] [edit on github]

Update the value by performing a read. This is the public function which should be called when the keyword is read.

write(value)[source] [edit on github]

Write the value to the authority source. Called to adjust the value in modify().

This method can be overridden to provide specific behavior in user subclasses.