[pytango] 02/21: Implement AttributeConfig and AttributeInfo changes
Sandor Bodo-Merle
sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:16:33 UTC 2017
This is an automated email from the git hooks/post-receive script.
sbodomerle-guest pushed a commit to annotated tag v9.2.0a
in repository pytango.
commit 91508fd849d6f4c8be72bebb0a525060cd700aa2
Author: Jose Tiago Coutinho Macara <tiago.coutinho at esrf.fr>
Date: Tue Dec 1 09:05:25 2015 +0100
Implement AttributeConfig and AttributeInfo changes
---
src/boost/cpp/attribute_info_ex.cpp | 3 +
src/boost/cpp/enums.cpp | 19 ++++++-
src/boost/cpp/from_py.cpp | 53 +++++++++++++++++-
src/boost/cpp/from_py.h | 2 +
src/boost/cpp/server/attribute.cpp | 48 ----------------
src/boost/cpp/to_py.cpp | 46 +++++++++++++++
src/boost/cpp/to_py.h | 3 +
src/boost/python/device_class.py | 20 +++++++
src/boost/python/device_server.py | 109 ++++++++++++++----------------------
src/boost/python/pytango_pprint.py | 4 +-
10 files changed, 188 insertions(+), 119 deletions(-)
diff --git a/src/boost/cpp/attribute_info_ex.cpp b/src/boost/cpp/attribute_info_ex.cpp
index bdec946..2a4f89b 100644
--- a/src/boost/cpp/attribute_info_ex.cpp
+++ b/src/boost/cpp/attribute_info_ex.cpp
@@ -20,6 +20,9 @@ void export_attribute_info_ex()
("AttributeInfoEx")
.def(init<const Tango::AttributeInfoEx&>())
.enable_pickling()
+ .def_readwrite("root_attr_name", &Tango::AttributeInfoEx::root_attr_name)
+ .def_readwrite("memorized", &Tango::AttributeInfoEx::memorized)
+ .def_readwrite("enum_labels", &Tango::AttributeInfoEx::enum_labels)
.def_readwrite("alarms", &Tango::AttributeInfoEx::alarms)
.def_readwrite("events", &Tango::AttributeInfoEx::events)
.def_readwrite("sys_extensions", &Tango::AttributeInfoEx::sys_extensions)
diff --git a/src/boost/cpp/enums.cpp b/src/boost/cpp/enums.cpp
index 4f4fa53..c86ddff 100644
--- a/src/boost/cpp/enums.cpp
+++ b/src/boost/cpp/enums.cpp
@@ -50,7 +50,10 @@ void export_enums()
.value(Tango::CmdArgTypeName[Tango::DEVVAR_LONG64ARRAY], Tango::DEVVAR_LONG64ARRAY)
.value(Tango::CmdArgTypeName[Tango::DEVVAR_ULONG64ARRAY], Tango::DEVVAR_ULONG64ARRAY)
.value(Tango::CmdArgTypeName[Tango::DEV_INT], Tango::DEV_INT)
- .value("DevEncoded", Tango::DEV_ENCODED)
+ .value(Tango::CmdArgTypeName[Tango::DEV_ENCODED], Tango::DEV_ENCODED)
+ .value(Tango::CmdArgTypeName[Tango::DEV_ENUM], Tango::DEV_ENUM)
+ .value(Tango::CmdArgTypeName[Tango::DEV_PIPE_BLOB], Tango::DEV_PIPE_BLOB)
+ .value(Tango::CmdArgTypeName[Tango::DEVVAR_STATEARRAY], Tango::DEVVAR_STATEARRAY)
.export_values()
;
@@ -170,6 +173,7 @@ void export_enums()
.value("READ_WITH_WRITE", Tango::READ_WITH_WRITE)
.value("WRITE", Tango::WRITE)
.value("READ_WRITE", Tango::READ_WRITE)
+ .value("WT_UNKNOWN", Tango::READ_WRITE)
.export_values()
;
@@ -213,6 +217,19 @@ void export_enums()
enum_<Tango::DispLevel>("DispLevel")
.value("OPERATOR", Tango::OPERATOR)
.value("EXPERT", Tango::EXPERT)
+ .value("DL_UNKNOWN", Tango::DL_UNKNOWN)
;
+ enum_<Tango::PipeWriteType>("PipeWriteType")
+ .value("PIPE_READ", Tango::PIPE_READ)
+ .value("PIPE_READ_WRITE", Tango::PIPE_READ_WRITE)
+ .value("PIPE_WT_UNKNOWN", Tango::PIPE_WT_UNKNOWN)
+ ;
+
+ enum_<Tango::AttrMemorizedType>("AttrMemorizedType")
+ .value("NOT_KNOWN", Tango::NOT_KNOWN)
+ .value("NONE", Tango::NONE)
+ .value("MEMORIZED", Tango::MEMORIZED)
+ .value("MEMORIZED_WRITE_INIT", Tango::MEMORIZED_WRITE_INIT)
+ ;
}
diff --git a/src/boost/cpp/from_py.cpp b/src/boost/cpp/from_py.cpp
index 0ec3c8d..478c47c 100644
--- a/src/boost/cpp/from_py.cpp
+++ b/src/boost/cpp/from_py.cpp
@@ -307,6 +307,38 @@ void from_py_object(object &py_obj, Tango::AttributeConfig_3 &attr_conf)
convert2array(py_obj.attr("sys_extensions"), attr_conf.sys_extensions);
}
+void from_py_object(object &py_obj, Tango::AttributeConfig_5 &attr_conf)
+{
+ attr_conf.name = obj_to_new_char(py_obj.attr("name"));
+ attr_conf.writable = extract<Tango::AttrWriteType>(py_obj.attr("writable"));
+ attr_conf.data_format = extract<Tango::AttrDataFormat>(py_obj.attr("data_format"));
+ attr_conf.data_type = extract<CORBA::Long>(py_obj.attr("data_type"));
+ attr_conf.memorized = extract<CORBA::Boolean>(py_obj.attr("memorized"));
+ attr_conf.mem_init = extract<CORBA::Boolean>(py_obj.attr("mem_init"));
+ attr_conf.max_dim_x = extract<CORBA::Long>(py_obj.attr("max_dim_x"));
+ attr_conf.max_dim_y = extract<CORBA::Long>(py_obj.attr("max_dim_y"));
+ attr_conf.description = obj_to_new_char(py_obj.attr("description"));
+ attr_conf.label = obj_to_new_char(py_obj.attr("label"));
+ attr_conf.unit = obj_to_new_char(py_obj.attr("unit"));
+ attr_conf.standard_unit = obj_to_new_char(py_obj.attr("standard_unit"));
+ attr_conf.display_unit = obj_to_new_char(py_obj.attr("display_unit"));
+ attr_conf.format = obj_to_new_char(py_obj.attr("format"));
+ attr_conf.min_value = obj_to_new_char(py_obj.attr("min_value"));
+ attr_conf.max_value = obj_to_new_char(py_obj.attr("max_value"));
+ attr_conf.writable_attr_name = obj_to_new_char(py_obj.attr("writable_attr_name"));
+ attr_conf.level = extract<Tango::DispLevel>(py_obj.attr("level"));
+ attr_conf.root_attr_name = obj_to_new_char(py_obj.attr("root_attr_name"));
+
+ convert2array(py_obj.attr("enum_labels"), attr_conf.enum_labels);
+
+ object py_att_alarm = py_obj.attr("att_alarm");
+ object py_event_prop = py_obj.attr("event_prop");
+
+ from_py_object(py_att_alarm, attr_conf.att_alarm);
+ from_py_object(py_event_prop, attr_conf.event_prop);
+ convert2array(py_obj.attr("extensions"), attr_conf.extensions);
+ convert2array(py_obj.attr("sys_extensions"), attr_conf.sys_extensions);
+}
void from_py_object(object &py_obj, Tango::AttributeConfigList &attr_conf_list)
{
@@ -349,7 +381,26 @@ void from_py_object(object &py_obj, Tango::AttributeConfigList_2 &attr_conf_list
void from_py_object(object &py_obj, Tango::AttributeConfigList_3 &attr_conf_list)
{
PyObject* py_obj_ptr = py_obj.ptr();
-
+
+ if (!PySequence_Check(py_obj_ptr))
+ {
+ attr_conf_list.length(1);
+ from_py_object(py_obj, attr_conf_list[0]);
+ return;
+ }
+
+ CORBA::ULong size = static_cast<CORBA::ULong>(boost::python::len(py_obj));
+ attr_conf_list.length(size);
+ for (CORBA::ULong i=0; i < size; ++i) {
+ object tmp = py_obj[i];
+ from_py_object(tmp, attr_conf_list[i]);
+ }
+}
+
+void from_py_object(object &py_obj, Tango::AttributeConfigList_5 &attr_conf_list)
+{
+ PyObject* py_obj_ptr = py_obj.ptr();
+
if (!PySequence_Check(py_obj_ptr))
{
attr_conf_list.length(1);
diff --git a/src/boost/cpp/from_py.h b/src/boost/cpp/from_py.h
index f03bd6b..efe33a5 100644
--- a/src/boost/cpp/from_py.h
+++ b/src/boost/cpp/from_py.h
@@ -276,6 +276,7 @@ void from_py_object(bopy::object &, Tango::EventProperties &);
void from_py_object(bopy::object &, Tango::AttributeConfig &);
void from_py_object(bopy::object &, Tango::AttributeConfig_2 &);
void from_py_object(bopy::object &, Tango::AttributeConfig_3 &);
+void from_py_object(bopy::object &, Tango::AttributeConfig_5 &);
template<typename T>
void from_py_object(bopy::object &py_obj, Tango::MultiAttrProp<T> &multi_attr_prop)
@@ -699,3 +700,4 @@ inline void from_py_object(bopy::object &py_obj, Tango::MultiAttrProp<Tango::Dev
void from_py_object(bopy::object &, Tango::AttributeConfigList &);
void from_py_object(bopy::object &, Tango::AttributeConfigList_2 &);
void from_py_object(bopy::object &, Tango::AttributeConfigList_3 &);
+void from_py_object(bopy::object &, Tango::AttributeConfigList_5 &);
diff --git a/src/boost/cpp/server/attribute.cpp b/src/boost/cpp/server/attribute.cpp
index e92ad9b..ebfdbc6 100644
--- a/src/boost/cpp/server/attribute.cpp
+++ b/src/boost/cpp/server/attribute.cpp
@@ -393,34 +393,6 @@ namespace PyAttribute
long x, long y)
{ __set_value("set_value_date_quality", att, value, &x, &y, t, &quality); }
- /* According to tango attribute.h these "methods not usable for
- the external world (outside the lib)" */
- /*
- inline bopy::object get_properties(Tango::Attribute &att,
- bopy::object &attr_cfg)
- {
- Tango::AttributeConfig tg_attr_cfg;
- att.get_properties(tg_attr_cfg);
- return to_py(tg_attr_cfg, attr_cfg);
- }
-
- inline bopy::object get_properties_2(Tango::Attribute &att,
- bopy::object &attr_cfg)
- {
- Tango::AttributeConfig_2 tg_attr_cfg;
- att.get_properties(tg_attr_cfg);
- return to_py(tg_attr_cfg, attr_cfg);
- }
-
- inline bopy::object get_properties_3(Tango::Attribute &att,
- bopy::object &attr_cfg)
- {
- Tango::AttributeConfig_3 tg_attr_cfg;
- att.get_properties(tg_attr_cfg);
- return to_py(tg_attr_cfg, attr_cfg);
- }
- */
-
template<typename TangoScalarType>
inline void _get_properties_multi_attr_prop(Tango::Attribute &att, bopy::object &multi_attr_prop)
{
@@ -439,26 +411,6 @@ namespace PyAttribute
return multi_attr_prop;
}
- /*
- void set_properties(Tango::Attribute &att, bopy::object &attr_cfg,
- bopy::object &dev)
- {
- Tango::AttributeConfig tg_attr_cfg;
- from_py_object(attr_cfg, tg_attr_cfg);
- Tango::DeviceImpl *dev_ptr = extract<Tango::DeviceImpl*>(dev);
- att.set_properties(tg_attr_cfg, dev_ptr);
- }
-
- void set_properties_3(Tango::Attribute &att, bopy::object &attr_cfg,
- bopy::object &dev)
- {
- Tango::AttributeConfig_3 tg_attr_cfg;
- from_py_object(attr_cfg, tg_attr_cfg);
- Tango::DeviceImpl *dev_ptr = extract<Tango::DeviceImpl*>(dev);
- att.set_properties(tg_attr_cfg, dev_ptr);
- }
- */
-
template<typename TangoScalarType>
inline void _set_properties_multi_attr_prop(Tango::Attribute &att, bopy::object &multi_attr_prop)
{
diff --git a/src/boost/cpp/to_py.cpp b/src/boost/cpp/to_py.cpp
index 3c2600d..ea57a03 100644
--- a/src/boost/cpp/to_py.cpp
+++ b/src/boost/cpp/to_py.cpp
@@ -176,6 +176,40 @@ object to_py(const Tango::AttributeConfig_3 &attr_conf, object py_attr_conf)
return py_attr_conf;
}
+object to_py(const Tango::AttributeConfig_5 &attr_conf, object py_attr_conf)
+{
+ if(py_attr_conf.ptr() == Py_None)
+ {
+ PYTANGO_MOD
+ py_attr_conf = pytango.attr("AttributeConfig_5")();
+ }
+
+ py_attr_conf.attr("name") = str(attr_conf.name.in());
+ py_attr_conf.attr("writable") = attr_conf.writable;
+ py_attr_conf.attr("data_format") = attr_conf.data_format;
+ py_attr_conf.attr("data_type") = attr_conf.data_type;
+ py_attr_conf.attr("memorized") = attr_conf.memorized;
+ py_attr_conf.attr("mem_init") = attr_conf.mem_init;
+ py_attr_conf.attr("max_dim_x") = attr_conf.max_dim_x;
+ py_attr_conf.attr("max_dim_y") = attr_conf.max_dim_y;
+ py_attr_conf.attr("description") = str(attr_conf.description.in());
+ py_attr_conf.attr("label") = str(attr_conf.label.in());
+ py_attr_conf.attr("unit") = str(attr_conf.unit.in());
+ py_attr_conf.attr("standard_unit") = str(attr_conf.standard_unit.in());
+ py_attr_conf.attr("display_unit") = str(attr_conf.display_unit.in());
+ py_attr_conf.attr("format") = str(attr_conf.format.in());
+ py_attr_conf.attr("min_value") = str(attr_conf.min_value.in());
+ py_attr_conf.attr("max_value") = str(attr_conf.max_value.in());
+ py_attr_conf.attr("writable_attr_name") = str(attr_conf.writable_attr_name.in());
+ py_attr_conf.attr("level") = attr_conf.level;
+ py_attr_conf.attr("root_attr_name") = str(attr_conf.root_attr_name.in());
+ py_attr_conf.attr("enum_labels") = CORBA_sequence_to_list<Tango::DevVarStringArray>::to_list(attr_conf.enum_labels);
+ py_attr_conf.attr("att_alarm") = to_py(attr_conf.att_alarm);
+ py_attr_conf.attr("event_prop") = to_py(attr_conf.event_prop);
+ py_attr_conf.attr("extensions") = CORBA_sequence_to_list<Tango::DevVarStringArray>::to_list(attr_conf.extensions);
+ py_attr_conf.attr("sys_extensions") = CORBA_sequence_to_list<Tango::DevVarStringArray>::to_list(attr_conf.sys_extensions);
+ return py_attr_conf;
+}
boost::python::list to_py(const Tango::AttributeConfigList &attr_conf_list)
{
boost::python::list py_attr_conf_list;
@@ -211,3 +245,15 @@ boost::python::list to_py(const Tango::AttributeConfigList_3 &attr_conf_list)
}
return py_attr_conf_list;
}
+
+boost::python::list to_py(const Tango::AttributeConfigList_5 &attr_conf_list)
+{
+ boost::python::list py_attr_conf_list;
+ boost::python::object none;
+ for(unsigned long index = 0; index < attr_conf_list.length(); ++index)
+ {
+ const Tango::AttributeConfig_5 &attr_conf = attr_conf_list[index];
+ py_attr_conf_list.append(to_py(attr_conf, none));
+ }
+ return py_attr_conf_list;
+}
diff --git a/src/boost/cpp/to_py.h b/src/boost/cpp/to_py.h
index 691779c..0fdd1cb 100644
--- a/src/boost/cpp/to_py.h
+++ b/src/boost/cpp/to_py.h
@@ -353,10 +353,13 @@ boost::python::object to_py(const Tango::AttributeConfig_2 &,
boost::python::object py_attr_conf);
boost::python::object to_py(const Tango::AttributeConfig_3 &,
boost::python::object py_attr_conf);
+boost::python::object to_py(const Tango::AttributeConfig_5 &,
+ boost::python::object py_attr_conf);
boost::python::list to_py(const Tango::AttributeConfigList &);
boost::python::list to_py(const Tango::AttributeConfigList_2 &);
boost::python::list to_py(const Tango::AttributeConfigList_3 &);
+boost::python::list to_py(const Tango::AttributeConfigList_5 &);
template<class T>
inline boost::python::object to_py_list(const T *seq)
diff --git a/src/boost/python/device_class.py b/src/boost/python/device_class.py
index 38888c1..1eb7b41 100644
--- a/src/boost/python/device_class.py
+++ b/src/boost/python/device_class.py
@@ -303,6 +303,25 @@ def __throw_create_command_exception(msg):
Except.throw_exception("PyDs_WrongCommandDefinition", msg,
"create_command()")
+def __DeviceClass__create_user_default_attr_prop(self, attr_name, extra_info):
+ """for internal usage only"""
+ p = UserDefaultAttrProp()
+ for k, v in extra_info.items():
+ k_lower = k.lower()
+ method_name = "set_%s" % k_lower.replace(' ','_')
+ if hasattr(p, method_name):
+ method = getattr(p, method_name)
+ method(str(v))
+ elif k == 'delta_time':
+ p.set_delta_t(str(v))
+ elif not k_lower in ('display level', 'polling period', 'memorized'):
+ name = self.get_name()
+ msg = "Wrong definition of attribute %s in " \
+ "class %s\nThe object extra information '%s' " \
+ "is not recognized!" % (attr_name, name, k)
+ self.__throw_create_attribute_exception(msg)
+ return p
+
def __DeviceClass__attribute_factory(self, attr_list):
"""for internal usage only"""
for attr_name, attr_info in self.attr_list.items():
@@ -636,6 +655,7 @@ def __init_DeviceClass():
DeviceClass.__init__ = __DeviceClass__init__
DeviceClass.__str__ = __DeviceClass__str__
DeviceClass.__repr__ = __DeviceClass__repr__
+ DeviceClass._create_user_default_attr_prop = __DeviceClass__create_user_default_attr_prop
DeviceClass._attribute_factory = __DeviceClass__attribute_factory
DeviceClass._command_factory = __DeviceClass__command_factory
DeviceClass._new_device = __DeviceClass__new_device
diff --git a/src/boost/python/device_server.py b/src/boost/python/device_server.py
index 068b567..9178231 100644
--- a/src/boost/python/device_server.py
+++ b/src/boost/python/device_server.py
@@ -15,9 +15,10 @@ This is an internal PyTango module.
from __future__ import print_function
-__all__ = [ "ChangeEventProp", "PeriodicEventProp", "ArchiveEventProp",
- "AttributeAlarm", "EventProperties",
- "AttributeConfig", "AttributeConfig_2", "AttributeConfig_3",
+__all__ = [ "ChangeEventProp", "PeriodicEventProp",
+ "ArchiveEventProp","AttributeAlarm", "EventProperties",
+ "AttributeConfig", "AttributeConfig_2",
+ "AttributeConfig_3", "AttributeConfig_5", "PipeConfig",
"MultiAttrProp",
"device_server_init"]
@@ -25,9 +26,11 @@ __docformat__ = "restructuredtext"
import copy
-from ._PyTango import DevFailed, DeviceImpl, Device_3Impl, Device_4Impl, \
- Attribute, WAttribute, MultiAttribute, MultiClassAttribute, \
- Attr, Logger, AttrWriteType, AttrDataFormat, DispLevel, UserDefaultAttrProp
+from ._PyTango import DeviceImpl, Device_3Impl, Device_4Impl, \
+ DevFailed, Attribute, WAttribute, \
+ MultiAttribute, MultiClassAttribute, \
+ Attr, Logger, AttrWriteType, PipeWriteType, AttrDataFormat, \
+ DispLevel, UserDefaultAttrProp
from .utils import document_method as __document_method
from .utils import copy_doc
@@ -159,16 +162,34 @@ class AttributeConfig_3(object):
self.event_prop = EventProperties()
self.sys_extensions = []
+class AttributeConfig_5(object):
+ """This class represents the python interface for the Tango IDL object
+ AttributeConfig_5."""
+
+ def __init__(self):
+ _init_attr_config(self)
+ self.memorized = False
+ self.mem_init = False
+ self.level = -1
+ self.root_attr_name = ''
+ self.enum_labels = []
+ self.att_alarm = AttributeAlarm()
+ self.event_prop = EventProperties()
+ self.sys_extensions = []
+
def __Attribute__get_properties(self, attr_cfg = None):
"""get_properties(self, attr_cfg = None) -> AttributeConfig
Get attribute properties.
Parameters :
- - conf : (AttributeConfig) the config object to be filled with
+ - conf : the config object to be filled with
the attribute configuration. Default is None meaning the
- method will create internally a new AttributeConfig
- and return it
+ method will create internally a new AttributeConfig_5
+ and return it.
+ Can be AttributeConfig, AttributeConfig_2,
+ AttributeConfig_3, AttributeConfig_5 or
+ MultiAttrProp
Return : (AttributeConfig) the config object filled with
attribute configuration information
@@ -176,54 +197,11 @@ def __Attribute__get_properties(self, attr_cfg = None):
New in PyTango 7.1.4
"""
- if isinstance(attr_cfg,MultiAttrProp):
- return self._get_properties_multi_attr_prop(attr_cfg)
- else:
- if attr_cfg is None:
- attr_cfg = AttributeConfig()
- return self._get_properties(attr_cfg)
-
-def __Attribute__get_properties_2(self, attr_cfg = None):
- """get_properties_2(self, attr_cfg = None) -> AttributeConfig_2
-
- Get attribute properties.
-
- Parameters :
- - conf : (AttributeConfig_2) the config object to be filled with
- the attribute configuration. Default is None meaning the
- method will create internally a new AttributeConfig
- and return it
-
- Return : (AttributeConfig_2) the config object filled with
- attribute configuration information
-
- New in PyTango 7.1.4
- """
-
if attr_cfg is None:
- attr_cfg = AttributeConfig_2()
- return self._get_properties_2(attr_cfg)
-
-def __Attribute__get_properties_3(self, attr_cfg = None):
- """get_properties_3(self, attr_cfg = None) -> AttributeConfig_3
-
- Get attribute properties.
-
- Parameters :
- - conf : (AttributeConfig_3) the config object to be filled with
- the attribute configuration. Default is None meaning the
- method will create internally a new AttributeConfig
- and return it
-
- Return : (AttributeConfig_3) the config object filled with
- attribute configuration information
-
- New in PyTango 7.1.4
- """
-
- if attr_cfg is None:
- attr_cfg = AttributeConfig_3()
- return self._get_properties_3(attr_cfg)
+ attr_cfg = MultiAttrProp()
+ if not isinstance(attr_cfg, MultiAttrProp):
+ raise TypeError("attr_cfg must be an instance of MultiAttrProp")
+ return self._get_properties_multi_attr_prop(attr_cfg)
def __Attribute__set_properties(self, attr_cfg, dev = None):
"""set_properties(self, attr_cfg, dev) -> None
@@ -234,20 +212,17 @@ def __Attribute__set_properties(self, attr_cfg, dev = None):
of the fileds in the AttributeConfig/ AttributeConfig_3 object
Parameters :
- - conf : (AttributeConfig or AttributeConfig_3) the config
+ - conf : (AttributeConfig or AttributeConfig_3) the config
object.
- - dev : (DeviceImpl) the device
+ - dev : (DeviceImpl) the device (not used, maintained
+ for backward compatibility)
New in PyTango 7.1.4
"""
-
- if isinstance(attr_cfg,MultiAttrProp):
- return self._set_properties_multi_attr_prop(attr_cfg)
- else:
- if isinstance(attr_cfg, AttributeConfig_3):
- self._set_properties_3(attr_cfg, dev)
- else:
- self._set_properties(attr_cfg, dev)
+
+ if not isinstance(attr_cfg, MultiAttrProp):
+ raise TypeError("attr_cfg must be an instance of MultiAttrProp")
+ return self._set_properties_multi_attr_prop(attr_cfg)
def __Attribute__str(self):
return '%s(%s)' % (self.__class__.__name__, self.get_name())
@@ -256,8 +231,6 @@ def __init_Attribute():
Attribute.__str__ = __Attribute__str
Attribute.__repr__ = __Attribute__str
Attribute.get_properties = __Attribute__get_properties
- Attribute.get_properties_2 = __Attribute__get_properties_2
- Attribute.get_properties_3 = __Attribute__get_properties_3
Attribute.set_properties = __Attribute__set_properties
def __DeviceImpl__get_device_class(self):
diff --git a/src/boost/python/pytango_pprint.py b/src/boost/python/pytango_pprint.py
index 952d786..1f048af 100644
--- a/src/boost/python/pytango_pprint.py
+++ b/src/boost/python/pytango_pprint.py
@@ -36,7 +36,8 @@ from ._PyTango import (StdStringVector, StdLongVector, CommandInfoList,
from .device_server import AttributeAlarm, EventProperties
from .device_server import ChangeEventProp, PeriodicEventProp, ArchiveEventProp
-from .device_server import AttributeConfig, AttributeConfig_2, AttributeConfig_3
+from .device_server import AttributeConfig, AttributeConfig_2
+from .device_server import AttributeConfig_3, AttributeConfig_5
import collections
def __inc_param(obj, name):
@@ -123,6 +124,7 @@ def __registerStructStr():
GroupReply, GroupAttrReply, GroupCmdReply,
DevError, EventData, AttrConfEventData, DataReadyEventData,
AttributeConfig, AttributeConfig_2, AttributeConfig_3,
+ AttributeConfig_5,
ChangeEventProp, PeriodicEventProp, ArchiveEventProp,
AttributeAlarm, EventProperties)
--
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