TangoDeviceNameValidator
- class TangoDeviceNameValidator(*p, **k)[source]
Validator for Tango device names. Apart from the standard named groups (scheme, authority, path, query and fragment), the following named groups are created:
devname: device name (either alias or slashed name)
[_devalias]: device alias
[_devslashname]: device name in slashed (a/b/c) form
[host] as in
TangoAuthorityNameValidator
[port] as in
TangoAuthorityNameValidator
Note: brackets on the group name indicate that this group will only contain a string if the URI contains it.
Import from
taurus.core.tango.tangovalidator
as:from taurus.core.tango.tangovalidator import TangoDeviceNameValidator
- authority = '//((?P<host>([\\w\\-_]+\\.)*[\\w\\-_]+):(?P<port>\\d{1,5})|([\\w\\-_]+\\.)*[\\w\\-_]+:\\d{1,5}(,([\\w\\-_]+\\.)*[\\w\\-_]+:\\d{1,5})+)'
- default_scheme = 'tango'
- fragment = '(?P<_fragmentdb>dbase=(yes|no)$)'
- getNames(fullname, factory=None, queryAuth=True)[source]
reimplemented from
TaurusDeviceNameValidator
. It accepts an extra keyword arg queryAuth which, if set to False, will prevent the validator from trying to query a TaurusAuthority to obtain missing info such as the devslashname <–> devalias correspondence.
- getUriGroups(name, strict=None)[source]
Reimplementation of getUriGroups to fix the host and authority name using fully qualified domain name for the host.
- names_cache = {}
- property nonStrictNamePattern
In non-strict mode, allow double-slash even if there is no Authority. (e.g., “tango://a/b/c” passes this non-strict form)
- path = '/?(?P<devname>((?P<_devalias>[^/?#:]+)|(?P<_devslashname>[^/?#:]+/[^/?#:]+/[^/?#:]+)))'
- query = '(?!)'
- scheme = '(tango|tango-nodb)'