def getUriGroups(self, name, strict=None): groups = TaurusDeviceNameValidator.getUriGroups(self, name, strict) if groups is not None: if groups.get('arch_db', None) is None: groups['arch_db'] = '*' # Wildcard for archiving scheme groups['devname'] = '?db={arch_db}'.format(**groups) return groups
def getUriGroups(self, name, strict=None): """ reimplemented from :class:`TaurusDeviceNameValidator` to check if scheme can be handled. Changes `psd` scheme for it fullname equivalent (eg. `pds-csv`), in order that it could be handled later by proper handler. """ groups = TaurusDeviceNameValidator.getUriGroups(self, name, strict) try: scheme = groups.get('scheme') if scheme != 'pds': return groups except: return None import os _, ext = os.path.splitext(groups.get('devname')) for handler in schemesMap.keys(): if schemesMap[handler].canHandle(ext): groups['scheme'] = handler return groups return None
def getModelMimeData(self): """ Used for drag events """ model,mimeData = '',None try: #model = getattr(self.scene().itemAt(*self.mousePos),'_name','') selected = self.scene()._selectedItems if not selected: self.debug('jdrawView.getModelMimeData(%s): nothing to drag'%model) return model = getattr(([s for s in selected if getattr(s,'_name','')] or [selected])[0],'_name','') self.debug('getModelMimeData(%s)'%model) mimeData = Qt.QMimeData() if model: # self.debug('getMimeData(): DeviceModel at %s: %s',self.mousePos,model) mimeData.setText(model) mimeData.setData(TAURUS_MODEL_MIME_TYPE, model) if TaurusDeviceNameValidator().getParams(model): self.debug('getMimeData(): DeviceModel at %s: %s',self.mousePos,model) mimeData.setData(TAURUS_DEV_MIME_TYPE,model) elif TaurusAttributeNameValidator().getParams(model): self.debug('getMimeData(): AttributeModel at %s: %s',self.mousePos,model) mimeData.setData(TAURUS_ATTR_MIME_TYPE,model) mimeData.setData(TAURUS_DEV_MIME_TYPE,model.rsplit('/',1)[0]) else: self.debug('getMimeData(): UnknownModel at %s: %s',self.mousePos,model) except: self.debug('jdrawView.getModelMimeData(%s): unable to get MimeData'%model) self.debug(traceback.format_exc()) return mimeData
def getUriGroups(self, name, strict=None): '''Reimplementation of getUriGroups to fix the host and authority name using fully qualified domain name for the host. ''' ret = TaurusDeviceNameValidator.getUriGroups(self, name, strict) if ret is not None and ret.get("host", None) is not None: fqdn = fqdn_no_alias(ret["host"]) ret["host"] = fqdn ret["authority"] = "//{host}:{port}".format(**ret) return ret
def _getKey(self, name): if self._elementType == TaurusElementType.Attribute: g = TaurusAttributeNameValidator.getUriGroups(self, name) elif self._elementType == TaurusElementType.Device: g = TaurusDeviceNameValidator.getUriGroups(self, name) elif self._elementType == TaurusElementType.Authority: g = TaurusAuthorityNameValidator.getUriGroups(self, name) else: msg = '_elementType must be one of (Authority, Device, Attribute)' raise Exception(msg) if g is None: return None else: return g['_resname']
def getUriGroups(self, name, strict=None): '''reimplemented from :class:`TaurusDeviceNameValidator` to provide backwards compatibility with ol syntax''' groups = TaurusDeviceNameValidator.getUriGroups(self, name, strict=strict) if groups is not None and not groups['__STRICT__']: _old_devname = groups['_old_devname'] groups['devname'] = '@%s' % _old_devname if '.' in _old_devname: groups['_evalname'] = None groups['_evalclass'] = _old_devname else: groups['_evalname'] = _old_devname groups['_evalclass'] = None return groups