Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : proto/python-efl

Dir     : e17/proto/python-efl/python-ecore/ecore


Modified Files:
        ecore.c_ecore.pyx ecore.c_ecore_animator.pxi 
        ecore.c_ecore_fd_handler.pxi ecore.c_ecore_idle_enterer.pxi 
        ecore.c_ecore_idle_exiter.pxi ecore.c_ecore_idler.pxi 
        ecore.c_ecore_timer.pxi 


Log Message:
Documentation and minor fixes.

TODO: ecore.evas

===================================================================
RCS file: /cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore.pyx,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore.pyx   13 May 2007 20:51:38 -0000      1.4
+++ ecore.c_ecore.pyx   29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,9 @@
 cimport python
 
+__extra_epydoc_fields__ = (
+    ("parm", "Parameter", "Parameters"), # epydoc don't support pyrex properly
+    )
+
 def init():
     return ecore_init()
 
@@ -9,26 +13,38 @@
 
 
 def main_loop_quit():
+    "Quit main loop, have L{main_loop_begin()} to return."
     ecore_main_loop_quit()
 
 
 def main_loop_begin():
+    "Enter main loop, this function will not return until L{main_loop_quit()}."
     ecore_main_loop_begin()
 
 
 def main_loop_iterate():
+    "Force main loop to process requests (timers, fd handlers, idlers, ...)"
     ecore_main_loop_iterate()
 
 
 def time_get():
+    """Get current time, in seconds.
+
+       @rtype: float
+    """
     return ecore_time_get()
 
 
 def animator_frametime_set(double frametime):
+    """Set time between frames (M{\frac{1}{frames-per-second}}).
+
+    @parm: B{frametime} in seconds.
+    """
     ecore_animator_frametime_set(frametime)
 
 
 def animator_frametime_get():
+    "@rtype: float"
     return ecore_animator_frametime_get()
 
 include "ecore.c_ecore_timer.pxi"
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_animator.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_animator.pxi  2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_animator.pxi  29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef int animator_cb(void *_td):
     cdef Animator obj
     cdef int r
@@ -9,7 +11,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -19,6 +20,25 @@
 
 
 cdef class Animator:
+    """Creates an animator to tick off at every animaton tick during main loop
+       execution.
+
+       This class represents an animator that will call the given B{func}
+       every N seconds where N is the frametime interval set by
+       L{animator_frametime_set()}. The function will be passed any extra
+       parameters given to constructor.
+
+       When the animator B{func} is called, it must return a value of either
+       True or False (remember that Python returns None if no value is
+       explicitly returned and None evaluates to False). If it returns
+       B{True}, it will be called again at the next tick, or if it returns
+       B{False} it will be deleted automatically making any references/handles
+       for it invalid.
+
+       Animators should be stopped/deleted by means of L{delete()} or
+       returning False from B{func}, otherwise they'll continue alive, even
+       if the current python context delete it's reference to it.
+    """
     def __init__(self, func, *args, **kargs):
         if not callable(func):
             raise TypeError("Parameter 'func' must be callable")
@@ -52,14 +72,20 @@
         return self.func(*self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_animator_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
 
 def animator_add(func, *args, **kargs):
+    """L{Animator} factory, for C-api compatibility.
+
+       @rtype: L{Animator}
+    """
     return Animator(func, *args, **kargs)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_fd_handler.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_fd_handler.pxi        2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_fd_handler.pxi        29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef void fd_handler_prepare_cb(void *_td, Ecore_Fd_Handler *fdh):
     cdef FdHandler obj
     cdef int r
@@ -11,7 +13,6 @@
     try:
         func(obj, *args, **kargs)
     except Exception, e:
-        import traceback
         traceback.print_exc()
 
 
@@ -35,7 +36,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -45,6 +45,23 @@
 
 
 cdef class FdHandler:
+    """Adds a callback for activity on the given file descriptor.
+
+       B{func} will be called during the execution of B{main_loop_begin()}
+       when the file descriptor is available for reading, or writing, or both.
+
+       When the handler B{func} is called, it must return a value of
+       either True or False (remember that Python returns None if no value
+       is explicitly returned and None evaluates to False). If it returns
+       B{True}, it will continue to montior the given file descriptor, or if
+       it returns B{False} it will be deleted automatically making any
+       references/handles for it invalid.
+
+       FdHandler use includes:
+        - handle multiple socket connections using a single process;
+        - thread wake-up and synchronization;
+        - non-blocking file description operations.
+    """
     def __init__(self, fd, int flags, func, *args, **kargs):
         if not callable(func):
             raise TypeError("Parameter 'func' must be callable")
@@ -101,15 +118,18 @@
         return self.func(self, *self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_main_fd_handler_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
     def fd_get(self):
+        "@rtype: int"
         return ecore_main_fd_handler_fd_get(self.obj)
 
     property fd:
@@ -117,26 +137,47 @@
             return self.fd_get()
 
     def active_get(self, int flags_query):
+        """Return if read, write or error, or a combination thereof, is
+           active on the file descriptor of the given FD handler.
+
+           @rtype: bool
+        """
         cdef Ecore_Fd_Handler_Flags v
         v = <Ecore_Fd_Handler_Flags>flags_query
-        return ecore_main_fd_handler_active_get(self.obj, v)
+        return bool(ecore_main_fd_handler_active_get(self.obj, v))
 
 
     def active_set(self, int flags):
+        """Set what active streams the given FdHandler should be monitoring.
+
+        @parm: B{flags} one of:
+         - ECORE_FD_NONE
+         - ECORE_FD_READ
+         - ECORE_FD_WRITE
+         - ECORE_FD_ERROR
+         - ECORE_FD_ALL
+        """
         cdef Ecore_Fd_Handler_Flags v
         v = <Ecore_Fd_Handler_Flags>flags_query
         ecore_main_fd_handler_active_set(self.obj, v)
 
     def can_read(self):
-        return ecore_main_fd_handler_active_get(self.obj, ECORE_FD_READ)
+        "@rtype: bool"
+        return bool(ecore_main_fd_handler_active_get(self.obj, ECORE_FD_READ))
 
     def can_write(self):
-        return ecore_main_fd_handler_active_get(self.obj, ECORE_FD_WRITE)
+        "@rtype: bool"
+        return bool(ecore_main_fd_handler_active_get(self.obj, ECORE_FD_WRITE))
 
     def has_error(self):
-        return ecore_main_fd_handler_active_get(self.obj, ECORE_FD_ERROR)
+        "@rtype: bool"
+        return bool(ecore_main_fd_handler_active_get(self.obj, ECORE_FD_ERROR))
 
     def prepare_callback_set(self, func, *args, **kargs):
+        """Set a function to call becore doing the select() on the fd.
+
+           Signature: C{function(object, *args, **kargs)}
+        """
         if func is None:
             self._prepare_callback = None
             ecore_main_fd_handler_prepare_callback_set(self.obj, NULL, NULL)
@@ -150,4 +191,8 @@
 
 
 def fd_handler_add(fd, int flags, func, *args, **kargs):
+    """L{FdHandler} factory, for C-api compatibility.
+
+       @rtype: L{FdHandler}
+    """
     return FdHandler(fd, flags, func, *args, **kargs)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_idle_enterer.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_idle_enterer.pxi      2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_idle_enterer.pxi      29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef int idle_enterer_cb(void *_td):
     cdef IdleEnterer obj
     cdef int r
@@ -9,7 +11,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -19,6 +20,25 @@
 
 
 cdef class IdleEnterer:
+    """Add an idle enterer handler.
+
+       This class represents a function that will be called before systems
+       enter idle. The function will be passed any extra parameters given
+       to constructor.
+
+       When the idle enterer B{func} is called, it must return a value of
+       either True or False (remember that Python returns None if no value
+       is explicitly returned and None evaluates to False). If it returns
+       B{True}, it will be called again when system become idle, or if it
+       returns B{False} it will be deleted automatically making any
+       references/handles for it invalid.
+
+       Idle enterers should be stopped/deleted by means of L{delete()} or
+       returning False from B{func}, otherwise they'll continue alive, even
+       if the current python context delete it's reference to it.
+
+       Idle enterer are useful for post-work jobs, like garbage collection.
+    """
     def __init__(self, func, *args, **kargs):
         if not callable(func):
             raise TypeError("Parameter 'func' must be callable")
@@ -52,14 +72,20 @@
         return self.func(*self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_idle_enterer_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
 
 def idle_enterer_add(func, *args, **kargs):
+    """L{IdleEnterer} factory, for C-api compatibility.
+
+       @rtype: L{IdleEnterer}
+    """
     return IdleEnterer(func, *args, **kargs)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_idle_exiter.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_idle_exiter.pxi       2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_idle_exiter.pxi       29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef int idle_exiter_cb(void *_td):
     cdef IdleExiter obj
     cdef int r
@@ -9,7 +11,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -19,6 +20,23 @@
 
 
 cdef class IdleExiter:
+    """Add an idle exiter handler.
+
+       This class represents a function that will be called before systems
+       exits idle. The function will be passed any extra parameters given
+       to constructor.
+
+       When the idle exiter B{func} is called, it must return a value of
+       either True or False (remember that Python returns None if no value
+       is explicitly returned and None evaluates to False). If it returns
+       B{True}, it will be called again when system become idle, or if it
+       returns B{False} it will be deleted automatically making any
+       references/handles for it invalid.
+
+       Idle exiters should be stopped/deleted by means of L{delete()} or
+       returning False from B{func}, otherwise they'll continue alive, even
+       if the current python context delete it's reference to it.
+    """
     def __init__(self, func, *args, **kargs):
         if not callable(func):
             raise TypeError("Parameter 'func' must be callable")
@@ -52,14 +70,20 @@
         return self.func(*self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_idle_exiter_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
 
 def idle_exiter_add(func, *args, **kargs):
+    """L{IdleExiter} factory, for C-api compatibility.
+
+       @rtype: L{IdleExiter}
+    """
     return IdleExiter(func, *args, **kargs)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_idler.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_idler.pxi     2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_idler.pxi     29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef int idler_cb(void *_td):
     cdef Idler obj
     cdef int r
@@ -9,7 +11,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -19,6 +20,25 @@
 
 
 cdef class Idler:
+    """Add an idler handler.
+
+       This class represents an idler on the event loop that will
+       call B{func} when there is nothing more to do. The function will
+       be passed any extra parameters given to constructor.
+
+       When the idler B{func} is called, it must return a value of either
+       True or False (remember that Python returns None if no value is
+       explicitly returned and None evaluates to False). If it returns
+       B{True}, it will be called again when system become idle, or if it
+       returns B{False} it will be deleted automatically making any
+       references/handles for it invalid.
+
+       Idlers should be stopped/deleted by means of L{delete()} or
+       returning False from B{func}, otherwise they'll continue alive, even
+       if the current python context delete it's reference to it.
+
+       Idlers are useful for progressively prossessing data without blocking.
+    """
     def __init__(self, func, *args, **kargs):
         self.func = func
         self.args = args
@@ -50,14 +70,20 @@
         return self.func(*self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_idler_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
 
 def idler_add(func, *args, **kargs):
+    """L{Idler} factory, for C-api compatibility.
+
+       @rtype: L{Idler}
+    """
     return Idler(func, *args, **kargs)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/ecore.c_ecore_timer.pxi,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.c_ecore_timer.pxi     2 Sep 2007 15:11:54 -0000       1.4
+++ ecore.c_ecore_timer.pxi     29 Sep 2007 00:32:30 -0000      1.5
@@ -1,5 +1,7 @@
 # This file is included verbatim by c_ecore.pyx
 
+import traceback
+
 cdef int timer_cb(void *_td):
     cdef Timer obj
     cdef int r
@@ -9,7 +11,6 @@
     try:
         r = bool(obj._exec())
     except Exception, e:
-        import traceback
         traceback.print_exc()
         r = 0
 
@@ -19,7 +20,25 @@
 
 
 cdef class Timer:
+    """Creates a timer to call the given function in the given period of time.
+
+       This class represents a timer that will call the given B{func} every
+       B{interval} seconds. The function will be passed any extra
+       parameters given to constructor.
+
+       When the timer B{func} is called, it must return a value of either
+       True or False (remember that Python returns None if no value is
+       explicitly returned and None evaluates to False). If it returns
+       B{True}, it will be called again at the next interval, or if it returns
+       B{False} it will be deleted automatically making any references/handles
+       for it invalid.
+
+       Timers should be stopped/deleted by means of L{delete()} or
+       returning False from B{func}, otherwise they'll continue alive, even
+       if the current python context delete it's reference to it.
+    """
     def __init__(self, double interval, func, *args, **kargs):
+        "@parm: B{interval} interval in seconds (float)."
         if not callable(func):
             raise TypeError("Parameter 'func' must be callable")
         self._interval = interval
@@ -54,19 +73,23 @@
         return self.func(*self.args, **self.kargs)
 
     def delete(self):
+        "Stop callback emission and free internal resources."
         if self.obj != NULL:
             ecore_timer_del(self.obj)
             self.obj = NULL
             python.Py_DECREF(self)
 
     def stop(self):
+        "Alias for L{delete()}."
         self.delete()
 
     def interval_set(self, double t):
+        "Change interval to call function."
         self._interval = t
         ecore_timer_interval_set(self.obj, t)
 
     def interval_get(self):
+        "@rtype: float"
         return self._interval
 
     property interval:
@@ -79,4 +102,8 @@
 
 
 def timer_add(double t, func, *args, **kargs):
+    """L{Timer} factory, for C-api compatibility.
+
+       @rtype: L{Timer}
+    """
     return Timer(t, func, *args, **kargs)



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to