TaurusFactory

Inheritance diagram of TaurusFactory
class TaurusFactory[source]

Bases: object

The base class for valid Factories in Taurus.

DefaultPollingPeriod = 3000
addAttributeToPolling(attribute, period, unsubscribe_evts=False)[source]

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

Parameters:
  • attribute (TangoAttribute) – attribute name.
  • period (float) – polling period (in seconds)
  • unsubscribe_evts (bool) – whether or not to unsubscribe from events
caseSensitive = True
changeDefaultPollingPeriod(period)[source]
cleanUp()[source]

Reimplement if you need to execute code on program execution exit. Default implementation does nothing.

disablePolling()[source]

Disable the application tango polling

elementTypesMap = None
enablePolling()[source]

Enable the application tango polling

findObject(absolute_name)[source]

Must give an absolute name

findObjectClass(absolute_name)[source]

Obtain the class object corresponding to the given name.

Note, this generic implementation expects that derived classes provide a an attribute called elementTypesMap consisting in a dictionary whose keys are TaurusElementTypes and whose values are the corresponding specific object classes. e.g., the FooFactory should provide:

class FooFactory(TaurusFactory):
    elementTypesMap = {TaurusElementType.Authority: FooAuthority,
                       TaurusElementType.Device: FooDevice,
                       TaurusElementType.Attribute: FooAttribute,
                       }
    (...)
Parameters:absolute_name (str) – the object absolute name string
Return type:TaurusModel or None
Returns:a TaurusModel class derived type or None if the name is not valid
getAttribute(name)[source]

Obtain the model 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.

Parameters:

name (str) – attribute name

Returns:

a taurus.core.taurusattribute.TaurusAttribute object

Raise:
TaurusException:
 if the given name is invalid.
getAttributeNameValidator()[source]
getAuthority(name=None)[source]

Obtain the model object corresponding to the given authority name. If the corresponding authority already exists, the existing instance is returned. Otherwise a new instance is stored and returned.

Parameters:

name (str) – authority name

Returns:

a taurus.core.taurusauthority.TaurusAuthority object

Raise:
TaurusException:
 if the given name is invalid.
getAuthorityNameValidator()[source]
getDefaultPollingPeriod()[source]
getDevice(name, **kw)[source]

Obtain the model object corresponding to the given device name. If the corresponding device already exists, the existing instance is returned. Otherwise a new instance is stored and returned.

Parameters:

name (str) – device name

Returns:

a taurus.core.taurusdevice.TaurusDevice object

Raise:
TaurusException:
 if the given name is invalid.
getDeviceNameValidator()[source]
getObject(cls, name)[source]
getSerializationMode()[source]

Gives the serialization operation mode.

Return type:TaurusSerializationMode
Returns:the current serialization mode
getValidTypesForName(name, strict=None)[source]

Returns a list of all Taurus element types for which name is a valid model name (while in many cases a name may only be valid for one element type, this is not necessarily true in general)

In this base implementation, name is checked first for Attribute, then for Device and finally for Authority, and the return value is sorted in that same order.

If a given schema requires a different ordering, reimplement this method

Parameters:name (str) – taurus model name
Return type:list <element>
Returns:where element can be one of: Attribute, Device or Authority
isPollingEnabled()[source]

Tells if the Taurus polling is enabled

Return type:bool
Returns:whether or not the polling is enabled
registerAttributeClass(attr_name, attr_klass)[source]
registerDeviceClass(dev_klass_name, dev_klass)[source]
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 (str) – attribute name.
schemes = ()
setSerializationMode(mode)[source]

Sets the serialization mode for the system.

Parameters:mode (TaurusSerializationMode) – the new serialization mode
supportsScheme(scheme)[source]

Returns whether the given scheme is supported by this factory

Parameters:scheme (str) – the name of the schem to be checked
Return type:bool
Returns:True if the scheme is supported (False otherwise)
unregisterAttributeClass(attr_name)[source]
unregisterDeviceClass(dev_klass_name)[source]