summaryrefslogtreecommitdiff
path: root/src/sardana
diff options
context:
space:
mode:
authorMarc Josep Rosanes Siscart <mrosanes@cells.es>2015-01-21 11:58:46 +0100
committercpascual <cpascual@cells.es>2015-01-21 16:09:14 +0100
commit9a1cfdac25e7f444584338188904c30bbbbabb6c (patch)
tree1db8889b0624530fc0f4f0eaf41e88d2981893dd /src/sardana
parent6e7d099794d0f06dd39dc2dac0c21b9a65bd9d59 (diff)
Add get_free_server function
Add function get_free_server to get non existing server names, in order to create new servers
Diffstat (limited to 'src/sardana')
-rw-r--r--src/sardana/tango/core/util.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sardana/tango/core/util.py b/src/sardana/tango/core/util.py
index 286928e8..0ecde7e1 100644
--- a/src/sardana/tango/core/util.py
+++ b/src/sardana/tango/core/util.py
@@ -743,6 +743,14 @@ def get_dev_from_class(db, classname):
res[dev] = full_name, name, alias, out
return res
+def get_free_server(db, prefix, start_from=1):
+ prefix = prefix + "_"
+ server_members = db.get_server_list(prefix + "*")
+ server = server_members.value_string
+ while prefix + str(start_from) in server:
+ start_from += 1
+ return prefix + str(start_from)
+
def get_free_device(db, prefix, start_from=1):
members = db.get_device_member(prefix + "/*")
while str(start_from) in members: