TangoDeviceNameValidator

digraph inheritance15bea7935b { bgcolor=transparent; rankdir=UD; ratio=compress; size="8.0, 12.0"; "TangoDeviceNameValidator" [URL="#taurus.core.tango.tangovalidator.TangoDeviceNameValidator",color=dodgerblue1,fillcolor=white,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,target="_top",tooltip="Validator for Tango device names. Apart from the standard named"]; "TaurusDeviceNameValidator" -> "TangoDeviceNameValidator" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TaurusDeviceNameValidator" [URL="taurus.core.taurusvalidator-TaurusDeviceNameValidator.html#taurus.core.taurusvalidator.TaurusDeviceNameValidator",color=dodgerblue1,fillcolor=white,fontcolor=black,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.5,shape=box,style=rounded,target="_top",tooltip="Base class for Device name validators."]; }
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:

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)'