[pytango] 11/122: beacon: fixed get_device_list when server_name is == to *
Sandor Bodo-Merle
sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:18:13 UTC 2017
This is an automated email from the git hooks/post-receive script.
sbodomerle-guest pushed a commit to tag v9.2.1
in repository pytango.
commit 9d54063bbb966ae99d910541a5102bbdb0ed3321
Author: Sébastien Petitdemange <sebastien.petitdemange at esrf.fr>
Date: Fri Jul 8 11:28:34 2016 +0200
beacon: fixed get_device_list when server_name is == to *
---
src/boost/python/databaseds/db_access/beacon.py | 32 +++++++++++++++----------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/src/boost/python/databaseds/db_access/beacon.py b/src/boost/python/databaseds/db_access/beacon.py
index fa6fecc..887c31f 100644
--- a/src/boost/python/databaseds/db_access/beacon.py
+++ b/src/boost/python/databaseds/db_access/beacon.py
@@ -533,22 +533,28 @@ class beacon(object):
return (result_long,result_str)
@_info
- def get_device_list(self,server_name, class_name ):
+ def get_device_list(self,server_name, class_name):
if server_name == '*':
- server_nodes = self._personal_2_node.values()
+ r_list = list()
+ for server_node in self._personal_2_node.values():
+ device_list = server_node.get('device')
+ r_list.extend(self._tango_name_from_class(device_list,class_name))
+ return r_list
+
+ server_node = self._personal_2_node.get(server_name)
+ if server_node is None:
+ return []
+ device_list = server_node.get('device')
+ return self._tango_name_from_class(device_list,class_name)
+
+ def _tango_name_from_class(self,device_list,class_name):
+ m = re.compile(class_name.replace('*','.*'))
+ if isinstance(device_list,list) :
+ return [x.get('tango_name') for x in device_list if m.match(x.get('class',''))]
+ elif isinstance(device_list,dict) and m.match(device_list.get('class','')) :
+ return [device_list.get('tango_name')]
else:
- server_nodes = filter(None,[self._personal_2_node.get(server_name)])
- if not server_nodes:
return []
- ret = list()
- for server_node in server_nodes:
- device_list = server_node.get('device')
- m = re.compile(class_name.replace('*','.*'))
- if isinstance(device_list,list) :
- ret.extend([x.get('tango_name') for x in device_list if m.match(x.get('class',''))])
- elif isinstance(device_list,dict) and m.match(device_list.get('class','')) :
- ret.append(device_list.get('tango_name'))
- return ret
@_info
def get_device_wide_list(self, wildcard):
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git
More information about the debian-science-commits
mailing list