EpicsFactory

Inheritance diagram of EpicsFactory

class EpicsFactory[source]

Bases: taurus.core.util.singleton.Singleton, taurus.core.taurusfactory.TaurusFactory, taurus.core.util.log.Logger

A Singleton class that provides Epics related objects.

DEFAULT_DATABASE = '_DefaultEpicslDB'
DEFAULT_DEVICE = '_DefaultEpicsDevice'
addAttributeToPolling(attribute, period, unsubscribe_evts=False)[source]

Activates the polling (client side) for the given attribute with the given period (seconds).

Parameters:
  • attribute (:class:~`taurus.core.tango.TangoAttribute`) – attribute name.
  • period (:class:~`float`) – polling period (in seconds)
  • unsubscribe_evts (:class:~`bool`) – whether or not to unsubscribe from events
findObjectClass(absolute_name)[source]

Obtain the class object corresponding to the given name.

getAttribute(attr_name)[source]

Obtain the object corresponding to the given attribute name. If the corresponding attribute already exists, the existing instance is returned. Otherwise a new instance is stored and returned. The device associated to this attribute will also be created if necessary.

Parameters:attr_name (:class:~`str`) – the attribute name string. See taurus.core.epics for valid attribute names
Return type::class:~`EpicsAttribute`
Returns:

@throws TaurusException if the given name is invalid.

getConfiguration(param) → taurus.core.taurusconfiguration.TaurusConfiguration[source]

Obtain the object corresponding to the given attribute or full name. If the corresponding configuration already exists, the existing instance is returned. Otherwise a new instance is stored and returned.

@param[in] param taurus.core.taurusattribute.TaurusAttribute object or full configuration name

@return a taurus.core.taurusattribute.TaurusAttribute object @throws TaurusException if the given name is invalid.

getDatabase(db_name=None)[source]

Obtain the EpicsDatabase object.

Parameters:db_name (:class:~`str`) – this is ignored because only one dummy database is supported
Return type::class:~`EpicsDatabase`
Returns:
getDevice(dev_name)[source]

Obtain the EpicsDevice object.

Parameters:dev_name (:class:~`str`) – this is ignored because only one dummy device is supported
Return type::class:~`EpicsDevice`
Returns:

Todo

Epics records may be implemented as taurus devices...

init(*args, **kwargs)[source]

Singleton instance initialization.

removeAttributeFromPolling(attribute)[source]

Deactivate the polling (client side) for the given attribute. If the polling of the attribute was not previously enabled, nothing happens.

Parameters:attribute (:class:~`str`) – attribute name.
schemes = ('epics',)