[pytango] 21/483: preparing for 7.2.0
Sandor Bodo-Merle
sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:14:20 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 0c5a4b4522a42713f83a07428dc6216e9bd15c7a
Author: tiagocoutinho <tiagocoutinho at 4e9c00fd-8f2e-0410-aa12-93ce3db5e235>
Date: Thu Apr 14 15:41:48 2011 +0000
preparing for 7.2.0
git-svn-id: http://svn.code.sf.net/p/tango-cs/code/bindings/PyTango/trunk@16568 4e9c00fd-8f2e-0410-aa12-93ce3db5e235
---
PyTango/connection.py | 49 ++++++
PyTango/db.py | 15 ++
PyTango/device_class.py | 9 --
PyTango/device_server.py | 103 ++++++++++++
PyTango/release.py | 6 +-
doc/index.rst | 22 +--
doc/revision.rst | 286 ++++++++++++++++++----------------
src/api_util.cpp | 21 ++-
src/archive_event_info.cpp | 2 +-
src/attr_conf_event_data.cpp | 2 +-
src/attribute_alarm_info.cpp | 2 +-
src/attribute_dimension.cpp | 2 +-
src/attribute_event_info.cpp | 2 +-
src/attribute_info.cpp | 2 +-
src/attribute_info_ex.cpp | 2 +-
src/attribute_proxy.cpp | 2 +-
src/base_types.cpp | 2 +-
src/callback.cpp | 2 +-
src/change_event_info.cpp | 2 +-
src/command_info.cpp | 2 +-
src/connection.cpp | 100 +++++-------
src/constants.cpp | 2 +-
src/data_ready_event_data.cpp | 2 +-
src/database.cpp | 6 +-
src/db.cpp | 2 +-
src/dev_command_info.cpp | 2 +-
src/dev_error.cpp | 2 +-
src/device_attribute.cpp | 2 +-
src/device_attribute.h | 2 +-
src/device_attribute_config.cpp | 2 +-
src/device_attribute_history.cpp | 2 +-
src/device_data.cpp | 2 +-
src/device_data_history.cpp | 2 +-
src/device_info.cpp | 2 +-
src/device_proxy.cpp | 2 +-
src/enums.cpp | 2 +-
src/event_data.cpp | 2 +-
src/exception.cpp | 2 +-
src/exception.h | 2 +-
src/from_py.h | 2 +-
src/group.cpp | 2 +-
src/group_element.cpp | 2 +-
src/group_reply.cpp | 2 +-
src/group_reply_list.cpp | 2 +-
src/locker_info.cpp | 2 +-
src/locking_thread.cpp | 2 +-
src/periodic_event_info.cpp | 2 +-
src/poll_device.cpp | 2 +-
src/precompiled_header.hpp | 2 +-
src/pytango.cpp | 2 +-
src/pytgutils.cpp | 2 +-
src/pytgutils.h | 2 +-
src/server/attr.cpp | 7 +-
src/server/attr.h | 2 +-
src/server/attribute.cpp | 4 +-
src/server/attribute.h | 2 +-
src/server/command.cpp | 2 +-
src/server/command.h | 2 +-
src/server/device_class.h | 2 +-
src/server/device_impl.cpp | 13 +-
src/server/device_impl.h | 13 +-
src/server/dserver.cpp | 2 +-
src/server/encoded_attribute.cpp | 2 +-
src/server/log4tango.cpp | 2 +-
src/server/subdev.cpp | 2 +-
src/server/tango_util.cpp | 4 +-
src/server/user_default_attr_prop.cpp | 2 +-
src/server/wattribute.cpp | 2 +-
src/tgutils.h | 2 +-
src/time_val.cpp | 2 +-
src/to_py.h | 2 +-
src/version.cpp | 2 +-
72 files changed, 477 insertions(+), 295 deletions(-)
diff --git a/PyTango/connection.py b/PyTango/connection.py
index 312cafd..2220b9c 100644
--- a/PyTango/connection.py
+++ b/PyTango/connection.py
@@ -33,6 +33,7 @@ from _PyTango import Connection, DeviceData, __CallBackAutoDie, CmdArgType
from _PyTango import DeviceProxy, Database
from _PyTango import ExtractAs
from utils import document_method as __document_method
+from utils import document_static_method as __document_static_method
import operator
def __CallBackAutoDie__cmd_ended_aux(fn):
@@ -253,6 +254,9 @@ def __doc_Connection():
def document_method(method_name, desc, append=True):
return __document_method(Connection, method_name, desc, append)
+ def document_static_method(method_name, desc, append=True):
+ return __document_static_method(Connection, method_name, desc, append)
+
Connection.__doc__ = """
The abstract Connection class for DeviceProxy. Not to be initialized directly.
"""
@@ -531,6 +535,7 @@ def __doc_Connection():
document_method("set_access_control", """
set_access_control(self, acc) -> None
+
Sets the current access control type
Parameters :
@@ -540,7 +545,51 @@ def __doc_Connection():
New in PyTango 7.0.0
""")
+
+ document_static_method("get_fqdn", """
+ get_fqdn(self) -> str
+
+ Returns the fully qualified domain name
+
+ Parameters : None
+ Return : (str) the fully qualified domain name
+
+ New in PyTango 7.2.0
+ """)
+
+ document_method("is_dbase_used", """
+ is_dbase_used(self) -> bool
+
+ Returns if the database is being used
+
+ Parameters : None
+ Return : (bool) True if the database is being used
+
+ New in PyTango 7.2.0
+ """)
+
+ document_method("get_dev_host", """
+ get_dev_host(self) -> str
+
+ Returns the current host
+
+ Parameters : None
+ Return : (str) the current host
+ New in PyTango 7.2.0
+ """)
+
+ document_method("get_dev_port", """
+ get_dev_port(self) -> str
+
+ Returns the current port
+
+ Parameters : None
+ Return : (str) the current port
+
+ New in PyTango 7.2.0
+ """)
+
def init(doc=True):
__init_Connection()
if doc:
diff --git a/PyTango/db.py b/PyTango/db.py
index c7c5534..90a5138 100644
--- a/PyTango/db.py
+++ b/PyTango/db.py
@@ -964,6 +964,21 @@ def __doc_Database():
New in PyTango 7.1.4
""" )
+
+ document_method("get_file_name", """
+ get_file_name(self) -> str
+
+ Returns the database file name or throws an exception
+ if not using a file database
+
+ Parameters : None
+ Return : a string containing the database file name
+
+ Throws : DevFailed
+
+ New in PyTango 7.2.0
+ """ )
+
document_method("get_info", """
get_info(self) -> str
diff --git a/PyTango/device_class.py b/PyTango/device_class.py
index 62344c2..d171717 100644
--- a/PyTango/device_class.py
+++ b/PyTango/device_class.py
@@ -677,15 +677,6 @@ class DeviceClass(_DeviceClass):
tmp_dev_list.append(device)
self.dyn_attr(tmp_dev_list)
-# try:
-# self.dyn_attr(tmp_dev_list)
-# except DevFailed, df:
-# print("PyDS: %s: A Tango error occured trying to create dynamic attributes" % name)
-# Except.print_exception(df)
-# except Exception, e:
-# print("PyDS: %s: An error occured trying to create dynamic attributes" % klass_name)
-# print(str(e))
-# sys.exit()
for dev in tmp_dev_list:
if Util._UseDb and not Util._FileDb:
diff --git a/PyTango/device_server.py b/PyTango/device_server.py
index 792dfed..33201c2 100644
--- a/PyTango/device_server.py
+++ b/PyTango/device_server.py
@@ -1090,6 +1090,39 @@ def __doc_DeviceImpl():
New in PyTango 7.1.2
""" )
+
+ document_method("get_min_poll_period", """
+ get_min_poll_period(self) -> int
+
+ Returns the min poll period
+
+ Parameters : None
+ Return : (int) the min poll period
+
+ New in PyTango 7.2.0
+ """ )
+
+ document_method("get_cmd_min_poll_period", """
+ get_cmd_min_poll_period(self) -> seq<str>
+
+ Returns the min command poll period
+
+ Parameters : None
+ Return : (seq<str>) the min command poll period
+
+ New in PyTango 7.2.0
+ """ )
+
+ document_method("get_attr_min_poll_period", """
+ get_attr_min_poll_period(self) -> seq<str>
+
+ Returns the min attribute poll period
+
+ Parameters : None
+ Return : (seq<str>) the min attribute poll period
+
+ New in PyTango 7.2.0
+ """ )
def __doc_extra_DeviceImpl(cls):
def document_method(method_name, desc, append=True):
@@ -1569,6 +1602,30 @@ def __doc_Attribute():
New in PyTango 7.1.0
""" )
+ document_method("set_data_ready_event", """
+ set_data_ready_event(self, implemented) -> None
+
+ Set a flag to indicate that the server fires data ready events.
+
+ Parameters :
+ - implemented : (bool) True when the server fires data ready events manually.
+ Return : None
+
+ New in PyTango 7.2.0
+ """ )
+
+ document_method("is_data_ready_event", """
+ is_data_ready_event(self) -> bool
+
+ Check if the data ready event is fired manually (without polling)
+ for this attribute.
+
+ Parameters : None
+ Return : (bool) True if a manual fire data ready event is implemented.
+
+ New in PyTango 7.2.0
+ """ )
+
document_method("remove_configuration", """
remove_configuration(self) -> None
@@ -1946,6 +2003,29 @@ def __doc_Attr():
Return : (bool) true if a archive event criteria will be checked.
""" )
+ document_method("set_data_ready_event", """
+ set_data_ready_event(self, implemented) -> None
+
+ Set a flag to indicate that the server fires data ready events.
+
+ Parameters :
+ - implemented : (bool) True when the server fires data ready events
+ Return : None
+
+ New in PyTango 7.2.0
+ """ )
+
+ document_method("is_data_ready_event", """
+ is_data_ready_event(self) -> bool
+
+ Check if the data ready event is fired for this attribute.
+
+ Parameters : None
+ Return : (bool) true if firing data ready event is implemented.
+
+ New in PyTango 7.2.0
+ """ )
+
document_method("get_name", """
get_name(self) -> str
@@ -2037,6 +2117,29 @@ def __doc_Attr():
Return : (bool) if it is assoc
""" )
+ document_method("get_cl_name", """
+ get_cl_name(self) -> str
+
+ Returns the class name
+
+ Parameters : None
+ Return : (str) the class name
+
+ New in PyTango 7.2.0
+ """ )
+
+ document_method("set_cl_name", """
+ set_cl_name(self, cl) -> None
+
+ Sets the class name
+
+ Parameters :
+ - cl : (str) new class name
+ Return : None
+
+ New in PyTango 7.2.0
+ """ )
+
document_method("get_class_properties", """
get_class_properties(self) -> sequence<AttrProperty>
diff --git a/PyTango/release.py b/PyTango/release.py
index 135cad4..99f8f77 100644
--- a/PyTango/release.py
+++ b/PyTango/release.py
@@ -45,12 +45,12 @@ class Release:
- download_url : (str) package download url
- platform : (seq<str>) list of available platforms
- keywords : (seq<str>) list of keywords
- - licence : (str) the licence"""
+ - license : (str) the license"""
name = 'PyTango'
- version_info = (7, 1, 6, 'final', 0)
+ version_info = (7, 2, 0, 'final', 0)
version = '.'.join(map(str, version_info[:3]))
version_long = version + ''.join(map(str, version_info[3:]))
- version_description = 'This version implements the C++ Tango 7.1 API.'
+ version_description = 'This version implements the C++ Tango 7.2 API.'
version_number = int(version.replace('.',''))
description = 'A python binding for the Tango control system'
long_description = 'This module implements the Python Tango Device API mapping'
diff --git a/doc/index.rst b/doc/index.rst
index 8191011..28e4834 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -6,25 +6,25 @@
.. highlight:: python
:linenothreshold: 4
-Welcome to PyTango 7.1 documentation!
-=====================================
+Welcome to PyTango |version| documentation!
+===========================================
|PyTangoLogoMedium| |spocklogo|
.. sidebar:: Latest news
- 2011-04-13:
- PyTango 7.1.5 is out!
+ 2011-04-15:
+ PyTango 7.2.0 is out!
- 2011-04-12:
- PyTango 7.1.4 doesn't compile. Please don't use this release.
- PyTango 7.1.5 will be released soon.
+ 2011-04-14:
+ PyTango 7.1.6 is out!
- 2011-04-08:
- PyTango 7.1.4 is out!
+ 2011-04-13:
+ PyTango 7.1.5 is missing some files. Please don't use this release.
+ PyTango 7.1.6 will be released soon.
- 2010-11-05:
- PyTango 7.1.3 is out!
+ 2011-04-13:
+ PyTango 7.1.5 is out!
PyTango is a python module that exposes to Python_ the complete Tango_ C++ API.
This includes both client and server API.
diff --git a/doc/revision.rst b/doc/revision.rst
index 403a5de..368c370 100644
--- a/doc/revision.rst
+++ b/doc/revision.rst
@@ -57,144 +57,160 @@ History of modifications:
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+
| 13/04/11 | `8.9 <http://www.tango-controls.org/static/PyTango/v715/doc/html/index.html>`_ | Update to PyTango 7.1.5 | T\. Coutinho |
+----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+
+| 14/04/11 | `8.10 <http://www.tango-controls.org/static/PyTango/v716/doc/html/index.html>`_ | Update to PyTango 7.1.6 | T\. Coutinho |
++----------+----------------------------------------------------------------------------------+-----------------------------------------------------+-----------------------+
.. _version-history:
Version history
---------------
-+------------+-------------------------------------------------------------------------------------+
-| version | Changes |
-+============+=====================================================================================+
-| 7.1.5 | Bug fixes: |
-| | - from sourceforge: |
-| | - 3284174: 7.1.4 does not build with gcc 4.5 and tango 7.2.6 |
-| | - 3284265: [pytango][7.1.4] a few files without licence and copyright |
-| | - 3284318: copyleft vs copyright |
-| | - 3284434: [pytango][doc] few ERROR during the doc generation |
-| | - 3284435: [pytango][doc] few warning during the doc generation |
-| | - 3284440: [pytango][spock] the profile can't be installed |
-| | - 3285185: PyTango Device Server does not load Class Properties values |
-| | - 3286055: PyTango 7.1.x DS using Tango C++ 7.2.x seg faults on exit |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.4 | Features: |
-| | - from sourceforge: |
-| | - 3274309: Generic Callback for events |
-| | |
-| | Bug fixes: |
-| | - from sourceforge: |
-| | - 3011775: Seg Faults due to removed dynamic attributes |
-| | - 3105169: PyTango 7.1.3 does not compile with Tango 7.2.X |
-| | - 3107243: spock profile does not work with python 2.5 |
-| | - 3124427: PyTango.WAttribute.set_max_value() changes min value |
-| | - 3170399: Missing documentation about is_<attr>_allowed method |
-| | - 3189082: Missing get_properties() for Attribute class |
-| | - 3196068: delete_device() not called after server_admin.Kill() |
-| | - 3257286: Binding crashes when reading a WRITE string attribute |
-| | - 3267628: DP.read_attribute(, extract=List/tuple) write value is wrong |
-| | - 3274262: Database.is_multi_tango_host missing |
-| | - 3274319: EncodedAttribute is missing in PyTango (<= 7.1.3) |
-| | - 3277269: read_attribute(DevEncoded) is not numpy as expected |
-| | - 3278946: DeviceAttribute copy constructor is not working |
-| | |
-| | Documentation: |
-| | - Added :ref:`utilities` chapter |
-| | - Added :ref:`encoded` chapter |
-| | - Improved :ref:`server` chapter |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.3 | Features: |
-| | - tango logging with print statement |
-| | - tango logging with decorators |
-| | - from sourceforge: |
-| | - 3060380: ApiUtil should be exported to PyTango |
-| | |
-| | Bug fixes: |
-| | - added licence header to all source code files |
-| | - spock didn't work without TANGO_HOST env. variable (it didn't recognize |
-| | tangorc) |
-| | - spock should give a proper message if it tries to be initialized outside |
-| | ipython |
-| | - from sourceforge: |
-| | - 3048798: licence issue GPL != LGPL |
-| | - 3073378: DeviceImpl.signal_handler raising exception crashes DS |
-| | - 3088031: Python DS unable to read DevVarBooleanArray property |
-| | - 3102776: PyTango 7.1.2 does not work with python 2.4 & boost 1.33.0 |
-| | - 3102778: Fix compilation warnings in linux |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.2 | Features: |
-| | - from sourceforge: |
-| | - 2995964: Dynamic device creation |
-| | - 3010399: The DeviceClass.get_device_list that exists in C++ is missing |
-| | - 3023686: Missing DeviceProxy.<attribute name> |
-| | - 3025396: DeviceImpl is missing some CORBA methods |
-| | - 3032005: IPython extension for PyTango |
-| | - 3033476: Make client objects pickable |
-| | - 3039902: PyTango.Util.add_class would be useful |
-| | |
-| | Bug fixes: |
-| | - from sourceforge: |
-| | - 2975940: DS command with DevVarCharArray return type fails |
-| | - 3000467: DeviceProxy.unlock is LOCKING instead of unlocking! |
-| | - 3010395: Util.get_device_* methods don't work |
-| | - 3010425: Database.dev_name does not work |
-| | - 3016949: command_inout_asynch callback does not work |
-| | - 3020300: PyTango does not compile with gcc 4.1.x |
-| | - 3030399: Database put(delete)_attribute_alias generates segfault |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.1 | Features: |
-| | - Improved setup script |
-| | - Interfaced with PyPI |
-| | - Cleaned build script warnings due to unclean python C++ macro definitions |
-| | - from sourceforge: 2985993, 2971217 |
-| | |
-| | Bug fixes: |
-| | - from sourceforge: 2983299, 2953689, 2953030 |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.0 | Features: |
-| | - from sourceforge: |
-| | - 2908176: read_*, write_* and is_*_allowed() methods can now be defined |
-| | - 2941036: TimeVal conversion to time and datetime |
-| | - added str representation on Attr, Attribute, DeviceImpl and DeviceClass |
-| | |
-| | Bug fixes: |
-| | - from sourceforge: 2903755, 2908176, 2914194, 2909927, 2936173, 2949099 |
-+------------+-------------------------------------------------------------------------------------+
-| 7.1.0rc1 | Features: |
-| | - v = image_attribute.get_write_value() returns square sequences (arrays of |
-| | arrays, or numpy objects) now instead of flat lists. Also for spectrum |
-| | attributes a numpy is returned by default now instead. |
-| | - image_attribute.set_value(v) accepts numpy arrays now or square sequences |
-| | instead of just flat lists. So, dim_x and dim_y are useless now. Also the |
-| | numpy path is faster. |
-| | - new enum AttrSerialModel |
-| | - Attribute new methods: set(get)_attr_serial_model, set_change_event, |
-| | set_archive_event, is_change_event, is_check_change_event, |
-| | is_archive_criteria, is_check_archive_criteria, remove_configuration |
-| | - added support for numpy scalars in tango operations like write_attribute |
-| | (ex: now a DEV_LONG attribute can receive a numpy.int32 argument in a |
-| | write_attribute method call) |
-| | |
-| | Bug fixes: |
-| | - DeviceImpl.set_value for scalar attributes |
-| | - DeviceImpl.push_***_event |
-| | - server commands with DevVar***StringArray as parameter or as return type |
-| | - in windows,a bug in PyTango.Util prevented servers from starting up |
-| | - DeviceImpl.get_device_properties for string properties assigns only first |
-| | character of string to object member instead of entire string |
-| | - added missing methods to Util |
-| | - exported SubDevDiag class |
-| | - error in read/events of attributes of type DevBoolean READ_WRITE |
-| | - error in automatic unsubscribe events of DeviceProxy when the object |
-| | disapears (happens only on some compilers with some optimization flags) |
-| | - fix possible bug when comparing attribute names in DeviceProxy |
-| | - pretty print of DevFailed -> fix deprecation warning in python 2.6 |
-| | - device class properties where not properly fetched when there is no |
-| | property value defined |
-| | - memory leak when converting DevFailed exceptions from C++ to python |
-| | - python device server file without extension does not start |
-| | |
-| | Documentation: |
-| | - Improved FAQ |
-| | - Improved compilation chapter |
-| | - Improved migration information |
-+------------+-------------------------------------------------------------------------------------+
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| version | Changes |
++============+==============================================================================================================================================================================+
+| 7.1.6 | Bug fixes: |
+| | - 7.1.5 distribution is missing some files |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.5 | Bug fixes: |
+| | - from sourceforge: |
+| | - `3284174: 7.1.4 does not build with gcc 4.5 and tango 7.2.6 <https://sourceforge.net/tracker/?func=detail&aid=3284174&group_id=57612&atid=484769>`_ |
+| | - `3284265: [pytango][7.1.4] a few files without licence and copyright <https://sourceforge.net/tracker/?func=detail&aid=3284265&group_id=57612&atid=484769>`_ |
+| | - `3284318: copyleft vs copyright <https://sourceforge.net/tracker/?func=detail&aid=3284318&group_id=57612&atid=484769>`_ |
+| | - `3284434: [pytango][doc] few ERROR during the doc generation <https://sourceforge.net/tracker/?func=detail&aid=3284434&group_id=57612&atid=484769>`_ |
+| | - `3284435: [pytango][doc] few warning during the doc generation <https://sourceforge.net/tracker/?func=detail&aid=3284435&group_id=57612&atid=484769>`_ |
+| | - `3284440: [pytango][spock] the profile can't be installed <https://sourceforge.net/tracker/?func=detail&aid=3284440&group_id=57612&atid=484769>`_ |
+| | - `3285185: PyTango Device Server does not load Class Properties values <https://sourceforge.net/tracker/?func=detail&aid=3285185&group_id=57612&atid=484769>`_ |
+| | - `3286055: PyTango 7.1.x DS using Tango C++ 7.2.x seg faults on exit <https://sourceforge.net/tracker/?func=detail&aid=3286055&group_id=57612&atid=484769>`_ |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.4 | Features: |
+| | - from sourceforge: |
+| | - `3274309: Generic Callback for events <https://sourceforge.net/tracker/?func=detail&aid=3274309&group_id=57612&atid=484772>`_ |
+| | |
+| | Bug fixes: |
+| | - from sourceforge: |
+| | - `3011775: Seg Faults due to removed dynamic attributes <https://sourceforge.net/tracker/?func=detail&aid=3011775&group_id=57612&atid=484769>`_ |
+| | - `3105169: PyTango 7.1.3 does not compile with Tango 7.2.X <https://sourceforge.net/tracker/?func=detail&aid=3105169&group_id=57612&atid=484769>`_ |
+| | - `3107243: spock profile does not work with python 2.5 <https://sourceforge.net/tracker/?func=detail&aid=3107243&group_id=57612&atid=484769>`_ |
+| | - `3124427: PyTango.WAttribute.set_max_value() changes min value <https://sourceforge.net/tracker/?func=detail&aid=3124427&group_id=57612&atid=484769>`_ |
+| | - `3170399: Missing documentation about is_<attr>_allowed method <https://sourceforge.net/tracker/?func=detail&aid=3170399&group_id=57612&atid=484769>`_ |
+| | - `3189082: Missing get_properties() for Attribute class <https://sourceforge.net/tracker/?func=detail&aid=3189082&group_id=57612&atid=484769>`_ |
+| | - `3196068: delete_device() not called after server_admin.Kill() <https://sourceforge.net/tracker/?func=detail&aid=3196068&group_id=57612&atid=484769>`_ |
+| | - `3257286: Binding crashes when reading a WRITE string attribute <https://sourceforge.net/tracker/?func=detail&aid=3257286&group_id=57612&atid=484769>`_ |
+| | - `3267628: DP.read_attribute(, extract=List/tuple) write value is wrong <https://sourceforge.net/tracker/?func=detail&aid=3267628&group_id=57612&atid=484769>`_ |
+| | - `3274262: Database.is_multi_tango_host missing <https://sourceforge.net/tracker/?func=detail&aid=3274262&group_id=57612&atid=484769>`_ |
+| | - `3274319: EncodedAttribute is missing in PyTango (<= 7.1.3) <https://sourceforge.net/tracker/?func=detail&aid=3274319&group_id=57612&atid=484769>`_ |
+| | - `3277269: read_attribute(DevEncoded) is not numpy as expected <https://sourceforge.net/tracker/?func=detail&aid=3277269&group_id=57612&atid=484769>`_ |
+| | - `3278946: DeviceAttribute copy constructor is not working <https://sourceforge.net/tracker/?func=detail&aid=3278946&group_id=57612&atid=484769>`_ |
+| | |
+| | Documentation: |
+| | - Added :ref:`utilities` chapter |
+| | - Added :ref:`encoded` chapter |
+| | - Improved :ref:`server` chapter |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.3 | Features: |
+| | - tango logging with print statement |
+| | - tango logging with decorators |
+| | - from sourceforge: |
+| | - `3060380: ApiUtil should be exported to PyTango <https://sourceforge.net/tracker/?func=detail&aid=3060380&group_id=57612&atid=484772>`_ |
+| | |
+| | Bug fixes: |
+| | - added licence header to all source code files |
+| | - spock didn't work without TANGO_HOST env. variable (it didn't recognize |
+| | tangorc) |
+| | - spock should give a proper message if it tries to be initialized outside |
+| | ipython |
+| | - from sourceforge: |
+| | - `3048798: licence issue GPL != LGPL <https://sourceforge.net/tracker/?func=detail&aid=3048798&group_id=57612&atid=484769>`_ |
+| | - `3073378: DeviceImpl.signal_handler raising exception crashes DS <https://sourceforge.net/tracker/?func=detail&aid=3073378&group_id=57612&atid=484769>`_ |
+| | - `3088031: Python DS unable to read DevVarBooleanArray property <https://sourceforge.net/tracker/?func=detail&aid=3088031&group_id=57612&atid=484769>`_ |
+| | - `3102776: PyTango 7.1.2 does not work with python 2.4 & boost 1.33.0 <https://sourceforge.net/tracker/?func=detail&aid=3102776&group_id=57612&atid=484769>`_ |
+| | - `3102778: Fix compilation warnings in linux <https://sourceforge.net/tracker/?func=detail&aid=3102778&group_id=57612&atid=484769>`_ |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.2 | Features: |
+| | - from sourceforge: |
+| | - `2995964: Dynamic device creation <https://sourceforge.net/tracker/?func=detail&aid=2995964&group_id=57612&atid=484772>`_ |
+| | - `3010399: The DeviceClass.get_device_list that exists in C++ is missing <https://sourceforge.net/tracker/?func=detail&aid=3010399&group_id=57612&atid=484772>`_ |
+| | - `3023686: Missing DeviceProxy.<attribute name> <https://sourceforge.net/tracker/?func=detail&aid=3023686&group_id=57612&atid=484772>`_ |
+| | - `3025396: DeviceImpl is missing some CORBA methods <https://sourceforge.net/tracker/?func=detail&aid=3025396&group_id=57612&atid=484772>`_ |
+| | - `3032005: IPython extension for PyTango <https://sourceforge.net/tracker/?func=detail&aid=3032005&group_id=57612&atid=484772>`_ |
+| | - `3033476: Make client objects pickable <https://sourceforge.net/tracker/?func=detail&aid=3033476&group_id=57612&atid=484772>`_ |
+| | - `3039902: PyTango.Util.add_class would be useful <https://sourceforge.net/tracker/?func=detail&aid=3039902&group_id=57612&atid=484772>`_ |
+| | |
+| | Bug fixes: |
+| | - from sourceforge: |
+| | - `2975940: DS command with DevVarCharArray return type fails <https://sourceforge.net/tracker/?func=detail&aid=2975940&group_id=57612&atid=484769>`_ |
+| | - `3000467: DeviceProxy.unlock is LOCKING instead of unlocking! <https://sourceforge.net/tracker/?func=detail&aid=3000467&group_id=57612&atid=484769>`_ |
+| | - `3010395: Util.get_device_* methods don't work <https://sourceforge.net/tracker/?func=detail&aid=3010395&group_id=57612&atid=484769>`_ |
+| | - `3010425: Database.dev_name does not work <https://sourceforge.net/tracker/?func=detail&aid=3010425&group_id=57612&atid=484769>`_ |
+| | - `3016949: command_inout_asynch callback does not work <https://sourceforge.net/tracker/?func=detail&aid=3016949&group_id=57612&atid=484769>`_ |
+| | - `3020300: PyTango does not compile with gcc 4.1.x <https://sourceforge.net/tracker/?func=detail&aid=3020300&group_id=57612&atid=484769>`_ |
+| | - `3030399: Database put(delete)_attribute_alias generates segfault <https://sourceforge.net/tracker/?func=detail&aid=3030399&group_id=57612&atid=484769>`_ |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.1 | Features: |
+| | - Improved setup script |
+| | - Interfaced with PyPI |
+| | - Cleaned build script warnings due to unclean python C++ macro definitions |
+| | - from sourceforge: |
+| | - `2985993: PyTango numpy command support <https://sourceforge.net/tracker/?func=detail&aid=2985993&group_id=57612&atid=484772>`_ |
+| | - `2971217: PyTango.GroupAttrReplyList slicing <https://sourceforge.net/tracker/?func=detail&aid=2971217&group_id=57612&atid=484772>`_ |
+| | |
+| | Bug fixes: |
+| | - from sourceforge: |
+| | - `2983299: Database.put_property() deletes the property <https://sourceforge.net/tracker/?func=detail&aid=2983299&group_id=57612&atid=484769>`_ |
+| | - `2953689: can not write_attribute scalar/spectrum/image <https://sourceforge.net/tracker/?func=detail&aid=2953689&group_id=57612&atid=484769>`_ |
+| | - `2953030: PyTango doc installation <https://sourceforge.net/tracker/?func=detail&aid=2953030&group_id=57612&atid=484769>`_ |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.0 | Features: |
+| | - from sourceforge: |
+| | - `2908176: read_*, write_* and is_*_allowed() methods can now be defined <https://sourceforge.net/tracker/?func=detail&aid=2908176&group_id=57612&atid=484772>`_ |
+| | - `2941036: TimeVal conversion to time and datetime <https://sourceforge.net/tracker/?func=detail&aid=2941036&group_id=57612&atid=484772>`_ |
+| | - added str representation on Attr, Attribute, DeviceImpl and DeviceClass |
+| | |
+| | Bug fixes: |
+| | - from sourceforge: |
+| | - `2903755: get_device_properties() bug reading DevString properties <https://sourceforge.net/tracker/?func=detail&aid=2903755group_id=57612&atid=484769>`_ |
+| | - `2909927: PyTango.Group.read_attribute() return values <https://sourceforge.net/tracker/?func=detail&aid=2909927&group_id=57612&atid=484769>`_ |
+| | - `2914194: DevEncoded does not work <https://sourceforge.net/tracker/?func=detail&aid=2914194&group_id=57612&atid=484769>`_ |
+| | - `2916397: PyTango.DeviceAttribute copy constructor does not work <https://sourceforge.net/tracker/?func=detail&aid=2916397&group_id=57612&atid=484769>`_ |
+| | - `2936173: PyTango.Group.read_attributes() fails <https://sourceforge.net/tracker/?func=detail&aid=2936173&group_id=57612&atid=484769>`_ |
+| | - `2949099: Missing PyTango.Except.print_error_stack <https://sourceforge.net/tracker/?func=detail&aid=2949099&group_id=57612&atid=484769>`_ |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| 7.1.0rc1 | Features: |
+| | - v = image_attribute.get_write_value() returns square sequences (arrays of |
+| | arrays, or numpy objects) now instead of flat lists. Also for spectrum |
+| | attributes a numpy is returned by default now instead. |
+| | - image_attribute.set_value(v) accepts numpy arrays now or square sequences |
+| | instead of just flat lists. So, dim_x and dim_y are useless now. Also the |
+| | numpy path is faster. |
+| | - new enum AttrSerialModel |
+| | - Attribute new methods: set(get)_attr_serial_model, set_change_event, |
+| | set_archive_event, is_change_event, is_check_change_event, |
+| | is_archive_criteria, is_check_archive_criteria, remove_configuration |
+| | - added support for numpy scalars in tango operations like write_attribute |
+| | (ex: now a DEV_LONG attribute can receive a numpy.int32 argument in a |
+| | write_attribute method call) |
+| | |
+| | Bug fixes: |
+| | - DeviceImpl.set_value for scalar attributes |
+| | - DeviceImpl.push_***_event |
+| | - server commands with DevVar***StringArray as parameter or as return type |
+| | - in windows,a bug in PyTango.Util prevented servers from starting up |
+| | - DeviceImpl.get_device_properties for string properties assigns only first |
+| | character of string to object member instead of entire string |
+| | - added missing methods to Util |
+| | - exported SubDevDiag class |
+| | - error in read/events of attributes of type DevBoolean READ_WRITE |
+| | - error in automatic unsubscribe events of DeviceProxy when the object |
+| | disapears (happens only on some compilers with some optimization flags) |
+| | - fix possible bug when comparing attribute names in DeviceProxy |
+| | - pretty print of DevFailed -> fix deprecation warning in python 2.6 |
+| | - device class properties where not properly fetched when there is no |
+| | property value defined |
+| | - memory leak when converting DevFailed exceptions from C++ to python |
+| | - python device server file without extension does not start |
+| | |
+| | Documentation: |
+| | - Improved FAQ |
+| | - Improved compilation chapter |
+| | - Improved migration information |
++------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
diff --git a/src/api_util.cpp b/src/api_util.cpp
index 9ce2ae4..3e16564 100644
--- a/src/api_util.cpp
+++ b/src/api_util.cpp
@@ -23,12 +23,25 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pyutils.h"
using namespace boost::python;
+namespace PyApiUtil
+{
+ inline object get_env_var(const char *name)
+ {
+ std::string value;
+ if (Tango::ApiUtil::get_env_var(name, value) == 0)
+ {
+ return str(value);
+ }
+ return object();
+ }
+};
+
void (Tango::ApiUtil::*get_asynch_replies1)() = &Tango::ApiUtil::get_asynch_replies;
void (Tango::ApiUtil::*get_asynch_replies2)(long) = &Tango::ApiUtil::get_asynch_replies;
@@ -50,5 +63,11 @@ void export_api_util()
.def("set_asynch_cb_sub_model", &Tango::ApiUtil::set_asynch_cb_sub_model)
.def("get_asynch_cb_sub_model", &Tango::ApiUtil::get_asynch_cb_sub_model)
+
+ .def("get_env_var", &PyApiUtil::get_env_var)
+ .staticmethod("get_env_var")
+
+ .def("is_event_consumer_created", &Tango::ApiUtil::is_event_consumer_created)
+ .def("get_user_connect_timeout", &Tango::ApiUtil::get_user_connect_timeout)
;
}
\ No newline at end of file
diff --git a/src/archive_event_info.cpp b/src/archive_event_info.cpp
index e66de5b..77faa2a 100644
--- a/src/archive_event_info.cpp
+++ b/src/archive_event_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attr_conf_event_data.cpp b/src/attr_conf_event_data.cpp
index d54d2fb..e295bd3 100644
--- a/src/attr_conf_event_data.cpp
+++ b/src/attr_conf_event_data.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_alarm_info.cpp b/src/attribute_alarm_info.cpp
index 975c60e..8dc1cab 100644
--- a/src/attribute_alarm_info.cpp
+++ b/src/attribute_alarm_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_dimension.cpp b/src/attribute_dimension.cpp
index fb61e38..8bcd25a 100644
--- a/src/attribute_dimension.cpp
+++ b/src/attribute_dimension.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_event_info.cpp b/src/attribute_event_info.cpp
index 88b0968..bb8fd77 100644
--- a/src/attribute_event_info.cpp
+++ b/src/attribute_event_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_info.cpp b/src/attribute_info.cpp
index 246a74a..812e603 100644
--- a/src/attribute_info.cpp
+++ b/src/attribute_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_info_ex.cpp b/src/attribute_info_ex.cpp
index 4077112..43b7437 100644
--- a/src/attribute_info_ex.cpp
+++ b/src/attribute_info_ex.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/attribute_proxy.cpp b/src/attribute_proxy.cpp
index 8cd70d8..e29030c 100644
--- a/src/attribute_proxy.cpp
+++ b/src/attribute_proxy.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <string>
#include "defs.h"
diff --git a/src/base_types.cpp b/src/base_types.cpp
index 040bfe0..650f0ce 100644
--- a/src/base_types.cpp
+++ b/src/base_types.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
diff --git a/src/callback.cpp b/src/callback.cpp
index b91fe90..4743644 100644
--- a/src/callback.cpp
+++ b/src/callback.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pytgutils.h"
#include "callback.h"
#include "device_attribute.h"
diff --git a/src/change_event_info.cpp b/src/change_event_info.cpp
index 5ebb78c..2af90e1 100644
--- a/src/change_event_info.cpp
+++ b/src/change_event_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/command_info.cpp b/src/command_info.cpp
index 0d6f69f..72b3f09 100644
--- a/src/command_info.cpp
+++ b/src/command_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/connection.cpp b/src/connection.cpp
index 94b7530..20415ee 100644
--- a/src/connection.cpp
+++ b/src/connection.cpp
@@ -23,7 +23,7 @@
#include <boost/python/copy_const_reference.hpp>
#include <boost/python/copy_non_const_reference.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pytgutils.h"
#include "callback.h"
@@ -92,6 +92,13 @@ namespace PyConnection
AutoPythonAllowThreads guard;
self.get_asynch_replies(call_timeout);
}
+
+ str get_fqdn()
+ {
+ string fqdn;
+ Tango::Connection::get_fqdn(fqdn);
+ return str(fqdn.c_str());
+ }
}
void export_connection()
@@ -103,94 +110,57 @@ void export_connection()
Connection
.def("dev_name", pure_virtual(&Tango::Connection::dev_name))
-
.def("get_db_host", &Tango::Connection::get_db_host,
- ( arg_("self") ),
return_value_policy<copy_non_const_reference>())
-
.def("get_db_port", &Tango::Connection::get_db_port,
- ( arg_("self") ),
return_value_policy<copy_non_const_reference>())
-
- .def("get_db_port_num", &Tango::Connection::get_db_port_num,
- ( arg_("self") ))
-
- .def("get_from_env_var", &Tango::Connection::get_from_env_var,
- ( arg_("self") ))
-
- .def("connect", &Tango::Connection::connect,
- ( arg_("self"), arg_("corba_name") ))
-
- .def("reconnect", &Tango::Connection::reconnect,
- ( arg_("self"), arg_("db_used") ))
-
- .def("get_idl_version", &Tango::Connection::get_idl_version,
- ( arg_("self") ))
-
- .def("set_timeout_millis", &Tango::Connection::set_timeout_millis,
- ( arg_("self"), arg_("timeout") ))
-
- .def("get_timeout_millis", &Tango::Connection::get_timeout_millis,
- ( arg_("self") ))
-
- .def("get_source", &Tango::Connection::get_source,
- ( arg_("self") ))
-
- .def("set_source", &Tango::Connection::set_source,
- ( arg_("self"), arg_("source") ))
-
+ .def("get_db_port_num", &Tango::Connection::get_db_port_num)
+ .def("get_from_env_var", &Tango::Connection::get_from_env_var)
+ .def("get_fqdn", &PyConnection::get_fqdn)
+ .staticmethod("get_fqdn")
+ .def("is_dbase_used", &Tango::Connection::is_dbase_used)
+ .def("get_dev_host", &Tango::Connection::get_dev_host,
+ return_value_policy<copy_non_const_reference>())
+ .def("get_dev_port", &Tango::Connection::get_dev_port,
+ return_value_policy<copy_non_const_reference>())
+ .def("connect", &Tango::Connection::connect)
+ .def("reconnect", &Tango::Connection::reconnect)
+ .def("get_idl_version", &Tango::Connection::get_idl_version)
+ .def("set_timeout_millis", &Tango::Connection::set_timeout_millis)
+ .def("get_timeout_millis", &Tango::Connection::get_timeout_millis)
+ .def("get_source", &Tango::Connection::get_source)
+ .def("set_source", &Tango::Connection::set_source)
.def("get_transparency_reconnection",
- &Tango::Connection::get_transparency_reconnection,
- ( arg_("self") ))
-
+ &Tango::Connection::get_transparency_reconnection)
.def("set_transparency_reconnection",
- &Tango::Connection::set_transparency_reconnection,
- ( arg_("self"), arg_("yesno") ))
-
+ &Tango::Connection::set_transparency_reconnection)
.def("__command_inout", &PyConnection::command_inout)
.def("__command_inout_asynch_id", &PyConnection::command_inout_asynch_id)
.def("__command_inout_asynch_cb", &PyConnection::command_inout_asynch_cb)
-
.def("command_inout_reply_raw",
(Tango::DeviceData (*)(Tango::Connection&, long))
- &PyConnection::command_inout_reply,
- ( arg_("self"), arg_("id") ))
-
+ &PyConnection::command_inout_reply)
.def("command_inout_reply_raw",
(Tango::DeviceData (*)(Tango::Connection&, long, long))
- &PyConnection::command_inout_reply,
- ( arg_("self"), arg_("id"), arg_("timeout") ))
-
+ &PyConnection::command_inout_reply)
//
// Asynchronous methods
//
.def("get_asynch_replies",
- (void (*) (Tango::Connection&))
- &PyConnection::get_asynch_replies,
- ( arg_("self") ))
-
+ (void (*) (Tango::Connection&)) &PyConnection::get_asynch_replies)
.def("get_asynch_replies",
- (void (*) (Tango::Connection&,long))
- &PyConnection::get_asynch_replies,
- ( arg_("self"), arg_("call_timeout") ))
-
- .def("cancel_asynch_request",
- &Tango::Connection::cancel_asynch_request,
- ( arg_("self"), arg_("id") ))
-
+ (void (*) (Tango::Connection&,long)) &PyConnection::get_asynch_replies)
+ .def("cancel_asynch_request", &Tango::Connection::cancel_asynch_request)
.def("cancel_all_polling_asynch_request",
- &Tango::Connection::cancel_all_polling_asynch_request,
- ( arg_("self") ))
+ &Tango::Connection::cancel_all_polling_asynch_request)
//
// Control access related methods
//
- .def("get_access_control", &Tango::Connection::get_access_control,
- ( arg_("self") ))
-
- .def("set_access_control", &Tango::Connection::set_access_control,
- ( arg_("self"), arg_("acc") ))
+
+ .def("get_access_control", &Tango::Connection::get_access_control)
+ .def("set_access_control", &Tango::Connection::set_access_control)
;
}
diff --git a/src/constants.cpp b/src/constants.cpp
index 672b2e0..75dc218 100644
--- a/src/constants.cpp
+++ b/src/constants.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/data_ready_event_data.cpp b/src/data_ready_event_data.cpp
index 05aaf56..e66f1d6 100644
--- a/src/data_ready_event_data.cpp
+++ b/src/data_ready_event_data.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/database.cpp b/src/database.cpp
index dbe9ed8..a5d171e 100644
--- a/src/database.cpp
+++ b/src/database.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <string>
#include "defs.h"
@@ -255,7 +255,9 @@ void export_database()
&Tango::Database::get_access_except_errors,
return_internal_reference<1>())
.def("is_multi_tango_host", &Tango::Database::is_multi_tango_host)
-
+ .def("get_file_name", &Tango::Database::get_file_name,
+ return_value_policy<copy_const_reference>())
+
//
// General methods
//
diff --git a/src/db.cpp b/src/db.cpp
index 3d9769c..a70f612 100644
--- a/src/db.cpp
+++ b/src/db.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
diff --git a/src/dev_command_info.cpp b/src/dev_command_info.cpp
index 4b9c9af..09a0c84 100644
--- a/src/dev_command_info.cpp
+++ b/src/dev_command_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/dev_error.cpp b/src/dev_error.cpp
index bfd8697..2568301 100644
--- a/src/dev_error.cpp
+++ b/src/dev_error.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/device_attribute.cpp b/src/device_attribute.cpp
index 8094a40..a6d84aa 100644
--- a/src/device_attribute.cpp
+++ b/src/device_attribute.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/handle.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include <string>
#include <memory>
diff --git a/src/device_attribute.h b/src/device_attribute.h
index 6264e1c..a36140d 100644
--- a/src/device_attribute.h
+++ b/src/device_attribute.h
@@ -24,7 +24,7 @@
#pragma once
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include <string>
diff --git a/src/device_attribute_config.cpp b/src/device_attribute_config.cpp
index 9b8c2f8..93dcd35 100644
--- a/src/device_attribute_config.cpp
+++ b/src/device_attribute_config.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/device_attribute_history.cpp b/src/device_attribute_history.cpp
index cb53dbe..f336cc7 100644
--- a/src/device_attribute_history.cpp
+++ b/src/device_attribute_history.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/device_data.cpp b/src/device_data.cpp
index d7a2fd6..1353a4a 100644
--- a/src/device_data.cpp
+++ b/src/device_data.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/mpl/if.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include <string>
diff --git a/src/device_data_history.cpp b/src/device_data_history.cpp
index 1239468..e0f5bf6 100644
--- a/src/device_data_history.cpp
+++ b/src/device_data_history.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/device_info.cpp b/src/device_info.cpp
index 28585e0..10e0be9 100644
--- a/src/device_info.cpp
+++ b/src/device_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/device_proxy.cpp b/src/device_proxy.cpp
index b9a063c..d8c6a49 100644
--- a/src/device_proxy.cpp
+++ b/src/device_proxy.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <string>
#include <memory>
diff --git a/src/enums.cpp b/src/enums.cpp
index e6e9c22..ad8d329 100644
--- a/src/enums.cpp
+++ b/src/enums.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/event_data.cpp b/src/event_data.cpp
index a55455d..d72ce41 100644
--- a/src/event_data.cpp
+++ b/src/event_data.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/exception.cpp b/src/exception.cpp
index e179f76..2341a06 100644
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include <string>
diff --git a/src/exception.h b/src/exception.h
index db822fe..7cb32ae 100644
--- a/src/exception.h
+++ b/src/exception.h
@@ -24,7 +24,7 @@
#pragma once
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
/**
* Translates a seq<DevError> into a C++ DevErrorList
diff --git a/src/from_py.h b/src/from_py.h
index 269d580..98bccf5 100644
--- a/src/from_py.h
+++ b/src/from_py.h
@@ -28,7 +28,7 @@
#if BOOST_VERSION < 103400
#include <boost/python/detail/api_placeholder.hpp>
#endif
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "tgutils.h"
diff --git a/src/group.cpp b/src/group.cpp
index d9546b2..e8b1d64 100644
--- a/src/group.cpp
+++ b/src/group.cpp
@@ -24,7 +24,7 @@
#include <boost/python/copy_const_reference.hpp>
#include <boost/python/copy_non_const_reference.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <memory>
#include "pytgutils.h"
diff --git a/src/group_element.cpp b/src/group_element.cpp
index a9f8667..fe71aff 100644
--- a/src/group_element.cpp
+++ b/src/group_element.cpp
@@ -24,7 +24,7 @@
#include <boost/python/copy_const_reference.hpp>
#include <boost/python/copy_non_const_reference.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pytgutils.h"
#include "device_attribute.h"
diff --git a/src/group_reply.cpp b/src/group_reply.cpp
index 9b87a5c..710d534 100644
--- a/src/group_reply.cpp
+++ b/src/group_reply.cpp
@@ -24,7 +24,7 @@
#include <boost/python/copy_const_reference.hpp>
#include <boost/python/copy_non_const_reference.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pytgutils.h"
#include "device_attribute.h"
diff --git a/src/group_reply_list.cpp b/src/group_reply_list.cpp
index 8891fd0..d1f0def 100644
--- a/src/group_reply_list.cpp
+++ b/src/group_reply_list.cpp
@@ -24,7 +24,7 @@
#include <boost/python/copy_const_reference.hpp>
#include <boost/python/copy_non_const_reference.hpp>
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "pytgutils.h"
#include "device_attribute.h"
diff --git a/src/locker_info.cpp b/src/locker_info.cpp
index 6fd601b..0a05be2 100644
--- a/src/locker_info.cpp
+++ b/src/locker_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/locking_thread.cpp b/src/locking_thread.cpp
index 6305db1..33a4164 100644
--- a/src/locking_thread.cpp
+++ b/src/locking_thread.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/periodic_event_info.cpp b/src/periodic_event_info.cpp
index 3d4848d..df958c8 100644
--- a/src/periodic_event_info.cpp
+++ b/src/periodic_event_info.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/poll_device.cpp b/src/poll_device.cpp
index 3e8a8ad..51fdbe1 100644
--- a/src/poll_device.cpp
+++ b/src/poll_device.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/precompiled_header.hpp b/src/precompiled_header.hpp
index 1984335..b7c52f2 100644
--- a/src/precompiled_header.hpp
+++ b/src/precompiled_header.hpp
@@ -26,4 +26,4 @@
// We don't want to waste those seconds for each cpp file, so we
// use this precompiled header.
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
diff --git a/src/pytango.cpp b/src/pytango.cpp
index abce371..c60ede9 100644
--- a/src/pytango.cpp
+++ b/src/pytango.cpp
@@ -32,7 +32,7 @@
# include <numpy/arrayobject.h>
#endif
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include <string>
diff --git a/src/pytgutils.cpp b/src/pytgutils.cpp
index 3f8ec13..ab9c09d 100644
--- a/src/pytgutils.cpp
+++ b/src/pytgutils.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
diff --git a/src/pytgutils.h b/src/pytgutils.h
index 896df23..67afa9a 100644
--- a/src/pytgutils.h
+++ b/src/pytgutils.h
@@ -24,7 +24,7 @@
#pragma once
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pyutils.h"
diff --git a/src/server/attr.cpp b/src/server/attr.cpp
index a058941..5b552db 100644
--- a/src/server/attr.cpp
+++ b/src/server/attr.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "server/attr.h"
@@ -105,6 +105,8 @@ void export_attr()
.def("set_archive_event", &Tango::Attr::set_archive_event)
.def("is_archive_event", &Tango::Attr::is_archive_event)
.def("is_check_archive_criteria", &Tango::Attr::is_check_archive_criteria)
+ .def("set_data_ready_event", &Tango::Attr::set_data_ready_event)
+ .def("is_data_ready_event", &Tango::Attr::is_data_ready_event)
.def("get_name", &Tango::Attr::get_name,
return_value_policy<copy_non_const_reference>())
.def("get_format", &Tango::Attr::get_format)
@@ -117,6 +119,9 @@ void export_attr()
.def("get_assoc", &Tango::Attr::get_assoc,
return_value_policy<copy_non_const_reference>())
.def("is_assoc", &Tango::Attr::is_assoc)
+ .def("get_cl_name", &Tango::Attr::get_cl_name,
+ return_value_policy<copy_const_reference>())
+ .def("set_cl_name", &Tango::Attr::set_cl_name)
.def("get_class_properties", &Tango::Attr::get_class_properties,
return_internal_reference<>())
.def("get_user_default_properties", &Tango::Attr::get_user_default_properties,
diff --git a/src/server/attr.h b/src/server/attr.h
index c0fbb8a..3fa981a 100644
--- a/src/server/attr.h
+++ b/src/server/attr.h
@@ -25,7 +25,7 @@
#define _ATTR_H_
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "exception.h"
#include "pytgutils.h"
diff --git a/src/server/attribute.cpp b/src/server/attribute.cpp
index 1f659d4..e0b13c4 100644
--- a/src/server/attribute.cpp
+++ b/src/server/attribute.cpp
@@ -24,7 +24,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
#include <string>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
@@ -527,6 +527,8 @@ void export_attribute()
.def("is_check_change_criteria", &Tango::Attribute::is_check_change_criteria)
.def("is_archive_event", &Tango::Attribute::is_archive_event)
.def("is_check_archive_criteria", &Tango::Attribute::is_check_archive_criteria)
+ .def("set_data_ready_event", &Tango::Attribute::set_data_ready_event)
+ .def("is_data_ready_event", &Tango::Attribute::is_data_ready_event)
.def("remove_configuration", &Tango::Attribute::remove_configuration)
.def("_get_properties", &PyAttribute::get_properties)
diff --git a/src/server/attribute.h b/src/server/attribute.h
index 0e0f0aa..7b181a2 100644
--- a/src/server/attribute.h
+++ b/src/server/attribute.h
@@ -25,7 +25,7 @@
#define _ATTRIBUTE_H_
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
namespace PyAttribute
{
diff --git a/src/server/command.cpp b/src/server/command.cpp
index d059547..3d85ac1 100644
--- a/src/server/command.cpp
+++ b/src/server/command.cpp
@@ -23,7 +23,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "exception.h"
#include "pytgutils.h"
diff --git a/src/server/command.h b/src/server/command.h
index e92a590..3363a1e 100644
--- a/src/server/command.h
+++ b/src/server/command.h
@@ -25,7 +25,7 @@
#define _COMMAND_H_
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
class PyCmd : public Tango::Command
{
diff --git a/src/server/device_class.h b/src/server/device_class.h
index d0c79ad..f75a2de 100644
--- a/src/server/device_class.h
+++ b/src/server/device_class.h
@@ -25,7 +25,7 @@
#define _DEVICE_CLASS_H_
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
class CppDeviceClass: public Tango::DeviceClass
{
diff --git a/src/server/device_impl.cpp b/src/server/device_impl.cpp
index 7a5f1af..3929dc1 100644
--- a/src/server/device_impl.cpp
+++ b/src/server/device_impl.cpp
@@ -24,7 +24,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
#include <string>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
@@ -700,6 +700,9 @@ Device_3ImplWrap::Device_3ImplWrap(PyObject *self, CppDeviceClass *cl,
_init();
}
+Device_3ImplWrap::~Device_3ImplWrap()
+{ delete_device(); }
+
void Device_3ImplWrap::_init()
{
// Make sure the wrapper contains a valid pointer to the self
@@ -1215,6 +1218,14 @@ void export_device_impl()
.def("__warn_stream", &PyDeviceImpl::warn)
.def("__error_stream", &PyDeviceImpl::error)
.def("__fatal_stream", &PyDeviceImpl::fatal)
+
+ .def("get_min_poll_period", &Tango::DeviceImpl::get_min_poll_period)
+ .def("get_cmd_min_poll_period",
+ &Tango::DeviceImpl::get_cmd_min_poll_period,
+ return_internal_reference<>())
+ .def("get_attr_min_poll_period",
+ &Tango::DeviceImpl::get_attr_min_poll_period,
+ return_internal_reference<>())
;
implicitly_convertible<auto_ptr<DeviceImplWrap>, auto_ptr<Tango::DeviceImpl> >();
diff --git a/src/server/device_impl.h b/src/server/device_impl.h
index 69452d7..dd306bf 100644
--- a/src/server/device_impl.h
+++ b/src/server/device_impl.h
@@ -25,7 +25,7 @@
#define _DEVICE_IMPL_H
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <server/device_class.h>
@@ -167,6 +167,11 @@ public:
const char *status = StatusNotSet);
/**
+ * Destructor
+ */
+ virtual ~Device_3ImplWrap();
+
+ /**
* A wrapper around the add_attribute in order to process some
* internal information
*
@@ -182,12 +187,6 @@ public:
void _remove_attribute(const char *att_name);
/**
- * Destructor
- */
- virtual ~Device_3ImplWrap()
- {}
-
- /**
* Necessary init_device implementation to call python
*/
virtual void init_device();
diff --git a/src/server/dserver.cpp b/src/server/dserver.cpp
index a7ba9ac..088d592 100644
--- a/src/server/dserver.cpp
+++ b/src/server/dserver.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "to_py.h"
#include "from_py.h"
diff --git a/src/server/encoded_attribute.cpp b/src/server/encoded_attribute.cpp
index a9b388a..e56f4b1 100644
--- a/src/server/encoded_attribute.cpp
+++ b/src/server/encoded_attribute.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "tango_numpy.h"
#include "device_attribute.h"
diff --git a/src/server/log4tango.cpp b/src/server/log4tango.cpp
index c613892..7af3132 100644
--- a/src/server/log4tango.cpp
+++ b/src/server/log4tango.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
diff --git a/src/server/subdev.cpp b/src/server/subdev.cpp
index 09c5520..986c56e 100644
--- a/src/server/subdev.cpp
+++ b/src/server/subdev.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/server/tango_util.cpp b/src/server/tango_util.cpp
index 1528f5b..9bf6b2d 100644
--- a/src/server/tango_util.cpp
+++ b/src/server/tango_util.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include <iostream>
#include "defs.h"
@@ -78,7 +78,7 @@ namespace PyUtil
for(int i = 0; i < cc_len; ++i)
{
CppDeviceClass *cpp_dc = extract<CppDeviceClass *> (constructed_classes[i])();
- dserver->add_class(cpp_dc);
+ dserver->_add_class(cpp_dc);
}
}
diff --git a/src/server/user_default_attr_prop.cpp b/src/server/user_default_attr_prop.cpp
index 0aa1d73..61268ba 100644
--- a/src/server/user_default_attr_prop.cpp
+++ b/src/server/user_default_attr_prop.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/server/wattribute.cpp b/src/server/wattribute.cpp
index ccdf4af..a6977af 100644
--- a/src/server/wattribute.cpp
+++ b/src/server/wattribute.cpp
@@ -24,7 +24,7 @@
#include <boost/python.hpp>
#include <boost/python/return_value_policy.hpp>
#include <string>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
#include "pytgutils.h"
diff --git a/src/tgutils.h b/src/tgutils.h
index 6bd10f3..816d007 100644
--- a/src/tgutils.h
+++ b/src/tgutils.h
@@ -24,7 +24,7 @@
#pragma once
#include <cassert>
-#include <tango.h>
+#include <tango/tango.h>
namespace Tango
{
diff --git a/src/time_val.cpp b/src/time_val.cpp
index e23033e..d46c2a1 100644
--- a/src/time_val.cpp
+++ b/src/time_val.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
diff --git a/src/to_py.h b/src/to_py.h
index 2907713..5bbd953 100644
--- a/src/to_py.h
+++ b/src/to_py.h
@@ -24,7 +24,7 @@
#pragma once
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
#include "defs.h"
diff --git a/src/version.cpp b/src/version.cpp
index 6ea0785..a33b90b 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -22,7 +22,7 @@
*******************************************************************************/
#include <boost/python.hpp>
-#include <tango.h>
+#include <tango/tango.h>
using namespace boost::python;
--
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