[pytango] 371/483: Allow to test a sys/database/pydb-test
Sandor Bodo-Merle
sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:15:01 UTC 2017
This is an automated email from the git hooks/post-receive script.
sbodomerle-guest pushed a commit to annotated tag bliss_8.10
in repository pytango.
commit 9dd41efa0564913d95112c0006d83b36cebe0653
Author: tiagocoutinho <tiagocoutinho at 4e9c00fd-8f2e-0410-aa12-93ce3db5e235>
Date: Tue Apr 15 12:09:36 2014 +0000
Allow to test a sys/database/pydb-test
git-svn-id: http://svn.code.sf.net/p/tango-cs/code/bindings/PyTango/trunk@25375 4e9c00fd-8f2e-0410-aa12-93ce3db5e235
---
src/boost/python/databaseds/DataBaseds | 2 +-
src/boost/python/databaseds/create_db.sql | 3 +
src/boost/python/databaseds/database.py | 91 +++++++++++++++++++++----------
3 files changed, 66 insertions(+), 30 deletions(-)
diff --git a/src/boost/python/databaseds/DataBaseds b/src/boost/python/databaseds/DataBaseds
index 2f8cf3c..3b9d996 100755
--- a/src/boost/python/databaseds/DataBaseds
+++ b/src/boost/python/databaseds/DataBaseds
@@ -3,7 +3,7 @@
import database
def main():
- database.main()
+ database.run()
if __name__ == '__main__':
main()
diff --git a/src/boost/python/databaseds/create_db.sql b/src/boost/python/databaseds/create_db.sql
index 34f6703..115754e 100644
--- a/src/boost/python/databaseds/create_db.sql
+++ b/src/boost/python/databaseds/create_db.sql
@@ -21,6 +21,9 @@ INSERT INTO object_history_id VALUES (0);
INSERT INTO device VALUES ('sys/database/2',NULL,'sys','database','2','nada','nada','nada','DataBaseds/2','nada','DataBase','nada','nada','nada','nada');
INSERT INTO device VALUES ('dserver/DataBaseds/2',NULL,'dserver','DataBaseds','2','nada','nada','nada','DataBaseds/2','nada','DServer','nada','nada','nada','nada');
+INSERT INTO device VALUES ('sys/database/pydb-test',NULL,'sys','database','pydb','nada','nada','nada','DataBaseds/pydb','nada','DataBase','nada','nada','nada','nada');
+INSERT INTO device VALUES ('dserver/DataBaseds/pydb-test',NULL,'dserver','DataBaseds','2','nada','nada','nada','DataBaseds/pydb','nada','DServer','nada','nada','nada','nada');
+
#
# Create entry for test device server in device table
#
diff --git a/src/boost/python/databaseds/database.py b/src/boost/python/databaseds/database.py
index 6092884..9eb4e6c 100644
--- a/src/boost/python/databaseds/database.py
+++ b/src/boost/python/databaseds/database.py
@@ -151,7 +151,7 @@ class DataBase (PyTango.Device_4Impl):
self.db = db_access.Tango_sqlite3()
-
+ logging.info("Finished init_device")
#----- PROTECTED REGION END -----# // DataBase.init_device
#------------------------------------------------------------------
@@ -2359,44 +2359,77 @@ class DataBaseClass(PyTango.DeviceClass):
# DataBase class main method
#
#==================================================================
-def main():
- log_fmt = '%(threadName)-14s %(levelname)-8s %(asctime)s %(name)s: %(message)s'
- logging.basicConfig(format=log_fmt, stream=sys.stdout, level=logging.INFO)
- try:
- db_name = "sys/database/" + sys.argv[1]
- set_db_name(db_name)
- PyTango.Util.set_use_db(False)
- py = PyTango.Util(sys.argv)
- py.add_class(DataBaseClass, DataBase, 'DataBase')
- U = PyTango.Util.instance()
- dbi = DbInter()
- U.set_interceptors(dbi)
- U.set_serial_model(PyTango.SerialModel.NO_SYNC)
- U.server_init()
- dserver = U.get_dserver_device()
- dbase = U.get_device_by_name(db_name)
+def __run():
+ """Runs the Database DS as a standalone database"""
+
+ db_name = "sys/database/" + args[1]
+ set_db_name(db_name)
+
+ PyTango.Util.set_use_db(False)
+ py_util = PyTango.Util(sys.argv)
+ py_util.add_class(DataBaseClass, DataBase, 'DataBase')
+
+ util = PyTango.Util.instance()
+ dbi = DbInter()
+ util.set_interceptors(dbi)
+ util.set_serial_model(PyTango.SerialModel.NO_SYNC)
+ util.server_init()
+
+ dserver = util.get_dserver_device()
+ dserver.duplicate_d_var()
+ dserver_name = dserver.get_name()
+ dserver_ior = util.get_dserver_ior(dserver)
+
+ dbase = util.get_device_by_name(db_name)
+ dbase_name = dbase.get_name()
+ dbase_ior = util.get_device_ior(dbase)
+
+ host = util.get_host_name()
+ pid = util.get_pid_str()
+ version = util.get_version_str()
+
+ dbase.DbExportDevice([dserver_name, dserver_ior, host, pid, version])
+ dbase.DbExportDevice([dbase_name, dbase_ior, host, pid, version])
+
+ print("Ready to accept request")
+ util.orb_run()
- dserver.duplicate_d_var()
- pars = [dserver.get_name(), U.get_dserver_ior(dserver),
- U.get_host_name(), U.get_pid_str(), U.get_version_str()]
- dbase.DbExportDevice(pars)
+def __run_embedded():
+ """Runs the Database device server embeded in another TANGO Database
+ (just like any other TANGO device server)"""
- pars[0] = dbase.get_name()
- pars[1] = U.get_device_ior(dbase)
- dbase.DbExportDevice(pars)
+ db_name = "sys/database/" + sys.argv[1]
+ set_db_name(db_name)
- print "Ready to accept request"
- U.orb_run()
+ py_util = PyTango.Util(sys.argv)
+ py_util.add_class(DataBaseClass, DataBase, 'DataBase')
+ util = PyTango.Util.instance()
+ util.server_init()
+ print("Ready to accept request")
+ util.server_run()
+
+def main(embedded=False):
+ log_fmt = '%(threadName)s %(levelname)-8s %(asctime)s %(name)s: %(message)s'
+ logging.basicConfig(format=log_fmt, stream=sys.stdout, level=logging.INFO)
+
+ f = __run
+ if embedded:
+ f = __run_embedded
+ try:
+ return f()
except PyTango.DevFailed as df:
print '-------> Received a DevFailed exception:', df
- import traceback;traceback.print_exc()
+ import traceback;
+ traceback.print_exc()
except Exception as e:
print '-------> An unforeseen exception occured....', e
- import traceback;traceback.print_exc()
+ import traceback;
+ traceback.print_exc()
+
if __name__ == '__main__':
- main()
+ run_embeded()
--
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