Add arguments 'version' and 'message' to DEPRECATED decorator.

The decorator will automatically add a directive to the docstring and
log a message when the function is called.
This commit is contained in:
Kai Huuhko 2013-10-25 02:03:31 +03:00
parent 4771ca5ccb
commit 3d85286336
17 changed files with 379 additions and 60 deletions

View File

@ -84,6 +84,10 @@ from object cimport Object
from object_item cimport ObjectItem, _object_item_callback, \
_object_item_to_python, _object_item_list_to_python
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cdef class DiskselectorItem(ObjectItem):
"""An item for the Diskselector widget.
@ -458,4 +462,41 @@ cdef class Diskselector(Object):
def callback_unfocused_del(self, func):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_diskselector", Diskselector)

View File

@ -492,6 +492,10 @@ from efl.evas cimport Object as evasObject
from object cimport Object
from hover cimport Hover
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cimport enums
ELM_AUTOCAPITAL_TYPE_NONE = enums.ELM_AUTOCAPITAL_TYPE_NONE
@ -2139,4 +2143,41 @@ cdef class Entry(Object):
def callback_text_set_done_del(self, func):
self._callback_del("text,set,done", func)
property scrollbar_policy:
def __get__(self):
return self.scrollbar_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scrollbar_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scrollbar_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scrollbar_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_entry", Entry)

View File

@ -293,6 +293,11 @@ cimport enums
import traceback
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
ELM_GENLIST_ITEM_SCROLLTO_NONE = enums.ELM_GENLIST_ITEM_SCROLLTO_NONE
ELM_GENLIST_ITEM_SCROLLTO_IN = enums.ELM_GENLIST_ITEM_SCROLLTO_IN
ELM_GENLIST_ITEM_SCROLLTO_TOP = enums.ELM_GENLIST_ITEM_SCROLLTO_TOP
@ -1789,4 +1794,40 @@ cdef class Gengrid(Object):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_gengrid", Gengrid)

View File

@ -532,13 +532,14 @@ from efl.eo cimport _object_mapping_register, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
from efl.evas cimport Object as evasObject
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
from object_item cimport ObjectItem, _object_item_to_python, \
elm_object_item_widget_get, _object_item_from_python, \
_object_item_list_to_python, elm_object_item_data_get
from general cimport strdup
from scroller cimport *
cimport enums
import traceback
@ -727,7 +728,7 @@ class GenlistItemsCount(int):
def __init__(self, Object obj, int count):
self.obj = obj
@DEPRECATED
@DEPRECATED("1.8", "Use items_count instead.")
def __call__(self):
return self.obj._items_count()

View File

@ -1012,3 +1012,38 @@ cdef class Genlist(Object):
def callback_unfocused_del(self, func):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)

View File

@ -101,7 +101,7 @@ from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
from efl.evas cimport Object as evasObject
from layout_class cimport LayoutClass
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
cimport enums
@ -198,11 +198,11 @@ cdef class Label(LayoutClass):
def __set__(self, slide):
self.slide_set(ELM_LABEL_SLIDE_MODE_ALWAYS if slide else ELM_LABEL_SLIDE_MODE_NONE)
@DEPRECATED
@DEPRECATED("1.8", "Use :py:attr:`slide_mode` instead.")
def slide_set(self, bint slide):
elm_label_slide_mode_set(self.obj,
ELM_LABEL_SLIDE_MODE_ALWAYS if slide else ELM_LABEL_SLIDE_MODE_NONE)
@DEPRECATED
@DEPRECATED("1.8", "Use :py:attr:`slide_mode` instead.")
def slide_get(self):
return bool(elm_label_slide_mode_get(self.obj))

View File

@ -188,6 +188,10 @@ from object_item cimport _object_item_callback, \
_object_item_to_python, \
_object_item_list_to_python
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cimport enums
ELM_LIST_COMPRESS = enums.ELM_LIST_COMPRESS
@ -986,4 +990,39 @@ cdef class List(Object):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_list", List)

View File

@ -202,6 +202,10 @@ from object cimport Object
from efl.evas cimport eina_list_free, eina_list_append
import traceback
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cimport enums
ELM_MAP_OVERLAY_TYPE_NONE = enums.ELM_MAP_OVERLAY_TYPE_NONE
@ -1834,4 +1838,39 @@ cdef public class Map(Object)[object PyElementaryMap, type PyElementaryMap_Type]
def callback_unfocused_del(self, func):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_map", Map)

View File

@ -106,7 +106,7 @@ from layout_class cimport LayoutClass
from object_item cimport _object_item_to_python, \
_object_item_list_to_python
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
cdef class NaviframeItem(ObjectItem):
@ -264,14 +264,9 @@ cdef class NaviframeItem(ObjectItem):
else:
return None
@DEPRECATED
@DEPRECATED("1.8", "Use :py:func:`pop_to` instead.")
def item_pop_to(self):
"""item_pop_to()
.. deprecated:: 1.8
Use :py:func:`pop_to` instead.
"""
"""item_pop_to()"""
elm_naviframe_item_pop_to(self.item)
def pop_to(self):
@ -282,14 +277,9 @@ cdef class NaviframeItem(ObjectItem):
"""
elm_naviframe_item_pop_to(self.item)
@DEPRECATED
@DEPRECATED("1.8", "Use :py:func:`promote` instead.")
def item_promote(self):
"""item_promote()
.. deprecated:: 1.8
Use :py:func:`promote` instead.
"""
"""item_promote()"""
elm_naviframe_item_promote(self.item)
def promote(self):

View File

@ -15,7 +15,7 @@
# You should have received a copy of the GNU Lesser General Public License
# along with this Python-EFL. If not, see <http://www.gnu.org/licenses/>.
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
def need_efreet():
"""need_efreet() -> bool
@ -62,7 +62,7 @@ def need_sys_notify():
"""
return bool(elm_need_sys_notify())
@DEPRECATED
@DEPRECATED("1.8", "Use :py:func:`need_eldbus` for eldbus (v2) support. Old API is deprecated.")
def need_e_dbus():
"""need_e_dbus() -> bool
@ -75,10 +75,6 @@ def need_e_dbus():
:return: True if support exists and initialization succeeded.
:rtype: bool
.. deprecated:: 1.8
Use :py:func:`need_eldbus` for eldbus (v2) support. Old API is
deprecated.
"""
return bool(elm_need_eldbus())

View File

@ -196,7 +196,7 @@ include "cnp_callbacks.pxi"
include "tooltips.pxi"
from efl.utils.conversions cimport eina_list_objects_to_python_list
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
from efl.evas cimport EventKeyDown, EventKeyUp, EventMouseWheel
from efl.evas cimport evas_object_smart_callback_add
@ -1399,14 +1399,9 @@ cdef class Object(evasObject):
return bool(elm_object_tooltip_window_mode_get(self.obj))
#Translatable text
@DEPRECATED
@DEPRECATED("1.8", "Use :py:func:`domain_translatable_part_text_set` instead.")
def domain_translatable_text_part_set(self, part, domain, text):
"""domain_translatable_text_part_set(part, domain, text)
.. deprecated:: 1.8
Use :py:func:`domain_translatable_part_text_set` instead.
"""
"""domain_translatable_text_part_set(part, domain, text)"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if isinstance(domain, unicode): domain = PyUnicode_AsUTF8String(domain)
if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
@ -1460,14 +1455,9 @@ cdef class Object(evasObject):
<const_char *>domain if domain is not None else NULL,
<const_char *>text if text is not None else NULL)
@DEPRECATED
@DEPRECATED("1.8", "Use :py:func:`translatable_part_text_get` instead.")
def translatable_text_part_get(self, part):
"""translatable_text_part_get(part) -> unicode
.. deprecated:: 1.8
Use :py:func:`translatable_part_text_get` instead.
"""
"""translatable_text_part_get(part) -> unicode"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
return _ctouni(elm_object_translatable_part_text_get(self.obj,
<const_char *>part if part is not None else NULL))

View File

@ -93,6 +93,10 @@ from object cimport Object
from efl.evas cimport Image as evasImage
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cimport enums
ELM_PHOTOCAM_ZOOM_MODE_MANUAL = enums.ELM_PHOTOCAM_ZOOM_MODE_MANUAL
@ -529,4 +533,39 @@ cdef class Photocam(Object):
def callback_unfocused_del(self, func):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_photocam", Photocam)

View File

@ -149,7 +149,7 @@ from efl.utils.conversions cimport _ctouni, _touni
from object cimport Object
from layout_class cimport LayoutClass
from efl.utils.deprecated import DEPRECATED
from efl.utils.deprecated cimport DEPRECATED
cimport enums
@ -178,13 +178,10 @@ cdef class Scrollable(Object):
# TODO: Use the scrollable interface functions? Need to base on
# evas.SmartObject?
@DEPRECATED
@DEPRECATED("1.8", "Use :py:attr:`theme<efl.elementary.object.Object.theme>` instead.")
def custom_widget_base_theme_set(self, widget, base):
"""custom_widget_base_theme_set(widget, base)
.. deprecated:: 1.8
Use :py:attr:`theme<efl.elementary.object.Object.theme>` instead.
"""
if isinstance(widget, unicode): widget = PyUnicode_AsUTF8String(widget)
if isinstance(base, unicode): base = PyUnicode_AsUTF8String(base)

View File

@ -160,6 +160,10 @@ from object cimport Object
from object_item cimport _object_item_callback, _object_item_to_python
from menu cimport Menu
from efl.utils.deprecated cimport DEPRECATED
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
cimport enums
ELM_ICON_LOOKUP_FDO_THEME = enums.ELM_ICON_LOOKUP_FDO_THEME
@ -1098,4 +1102,39 @@ cdef class Toolbar(Object):
def callback_unfocused_del(self, func):
self._callback_del("unfocused", func)
property scroller_policy:
def __get__(self):
return self.scroller_policy_get()
def __set__(self, value):
cdef Elm_Scroller_Policy policy_h, policy_v
policy_h, policy_v = value
self.scroller_policy_set(policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_set(self, policy_h, policy_v):
elm_scroller_policy_set(self.obj, policy_h, policy_v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def scroller_policy_get(self):
cdef Elm_Scroller_Policy policy_h, policy_v
elm_scroller_policy_get(self.obj, &policy_h, &policy_v)
return (policy_h, policy_v)
property bounce:
def __get__(self):
return self.bounce_get()
def __set__(self, value):
cdef Eina_Bool h, v
h, v = value
self.bounce_set(h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_set(self, h, v):
elm_scroller_bounce_set(self.obj, h, v)
@DEPRECATED("1.8", "You should combine with Scrollable class instead.")
def bounce_get(self):
cdef Eina_Bool h, v
elm_scroller_bounce_get(self.obj, &h, &v)
return (h, v)
_object_mapping_register("elm_toolbar", Toolbar)

View File

@ -2,21 +2,34 @@ import traceback
import types
from functools import update_wrapper
from efl.eina cimport EINA_LOG_DOM_WARN
from efl.utils.logger cimport PY_EFL_LOG_DOMAIN
class DEPRECATED(object):
cdef class DEPRECATED(object):
def __init__(self, object f):
self.f = f
def __init__(self, version=None, message=None):
self.version = version
self.message = message
def __call__(self, f):
wrapper = WRAPPER(f, self.version, self.message)
assignments = ["__name__", "__doc__"]
if hasattr(f, "__module__"):
assignments.append("__module__")
update_wrapper(self, f, assigned=assignments)
update_wrapper(wrapper, f, assigned=assignments)
#if hasattr(f, "__objclass__"):
#print("WARNING: method %s.%s is deprecated" % (f.__objclass__.__name__, f.__name__))
#else:
#print("WARNING: function %s is deprecated" % (f.__name__))
if wrapper.__doc__ is not None:
wrapper.__doc__ += "\n\n.. deprecated:: %s\n %s\n" % (self.version, self.message)
return wrapper
class WRAPPER(object):
def __init__(self, f, version, message):
self.f = f
self.version = version
self.message = message
def __get__(self, obj, objtype):
return types.MethodType(self, obj, objtype)
@ -32,14 +45,17 @@ class DEPRECATED(object):
caller_module, caller_line, caller_name, caller_code = caller
if caller_code is not None:
if hasattr(self.f, "__objclass__"):
msg = "WARNING: Deprecated method %s of class %s called in %s:%s %s." % \
msg = "Deprecated method %s of class %s called in %s:%s %s." % \
(self.f.__name__, self.f.__objclass__.__name__, caller_module, caller_line, caller_code)
else:
msg = "WARNING: Deprecated function %s called in %s:%s %s." % \
msg = "Deprecated function %s called in %s:%s %s." % \
(self.f.__name__, caller_module, caller_line, caller_code)
else:
msg = "WARNING: Deprecated function %s.%s called in %s:%s." % \
(self.f.__name__, caller_name, caller_module, caller_line)
print(msg)
msg = "Deprecated function %s called in %s:%s." % \
(self.f.__name__, caller_module, caller_line)
msg += " " + self.message
EINA_LOG_DOM_WARN(PY_EFL_LOG_DOMAIN, msg, NULL)
return self.f(*args, **kwargs)

View File

@ -15,6 +15,17 @@ from efl.elementary.check import Check
from efl.elementary.entry import Entry
from efl.elementary.scroller import Scroller
import logging
elog = logging.getLogger("efl")
elog.setLevel(logging.DEBUG)
elog_form = logging.Formatter("[%(name)s] %(levelname)s - %(message)s")
elog_hdlr = logging.StreamHandler()
elog_hdlr.setFormatter(elog_form)
elog.addHandler(elog_hdlr)
items = [
("Core Libs", [
("Evas Objects", "test_core_evas_objects", "core_evas_objects_clicked"),

View File

@ -0,0 +1,4 @@
cdef:
class DEPRECATED(object):
cdef:
str version, message