[Python-checkins] r64128 - in python/trunk: Doc/library/threading.rst Lib/threading.py Misc/NEWS

Guido van Rossum guido at python.org
Wed Jun 11 19:56:34 CEST 2008


Shouldn't the old APIs be added back to the __all__ variable?

On Wed, Jun 11, 2008 at 10:50 AM, benjamin.peterson
<python-checkins at python.org> wrote:
> Author: benjamin.peterson
> Date: Wed Jun 11 19:50:00 2008
> New Revision: 64128
>
> Log:
> add aliases to threading module
>
>
> Modified:
>   python/trunk/Doc/library/threading.rst
>   python/trunk/Lib/threading.py
>   python/trunk/Misc/NEWS
>
> Modified: python/trunk/Doc/library/threading.rst
> ==============================================================================
> --- python/trunk/Doc/library/threading.rst      (original)
> +++ python/trunk/Doc/library/threading.rst      Wed Jun 11 19:50:00 2008
> @@ -13,10 +13,16 @@
>  The :mod:`dummy_threading` module is provided for situations where
>  :mod:`threading` cannot be used because :mod:`thread` is missing.
>
> +.. note::
> +
> +   In 3.x, names in camelCase have been renamed to their underscored
> +   equivelents.  Both names are availble in 2.6.
> +
>  This module defines the following functions and objects:
>
>
>  .. function:: active_count()
> +              activeCount()
>
>    Return the number of :class:`Thread` objects currently alive.  The returned
>    count is equal to the length of the list returned by :func:`enumerate`.
> @@ -31,6 +37,7 @@
>
>
>  .. function:: current_thread()
> +              currentThread()
>
>    Return the current :class:`Thread` object, corresponding to the caller's thread
>    of control.  If the caller's thread of control was not created through the
> @@ -396,6 +403,7 @@
>
>
>  .. method:: Condition.notify_all()
> +            Condition.notifyAll()
>
>    Wake up all threads waiting on this condition.  This method acts like
>    :meth:`notify`, but wakes up all waiting threads instead of one. If the calling
> @@ -498,7 +506,8 @@
>    The internal flag is initially false.
>
>
> -.. method:: Event.isSet()
> +.. method:: Event.is_set()
> +            Event.isSet()
>
>    Return true if and only if the internal flag is true.
>
> @@ -638,11 +647,13 @@
>
>
>  .. method:: Thread.get_name()
> +            Thread.getName()
>
>    Return the thread's name.
>
>
> -.. method:: Thread.set_same(name)
> +.. method:: Thread.set_name(name)
> +            Thread.setName(name)
>
>    Set the thread's name.
>
> @@ -651,7 +662,7 @@
>    constructor.
>
>
> -.. method:: Thread.get_ddent()
> +.. method:: Thread.get_ident()
>
>    Return the 'thread identifier' of this thread or None if the thread has not
>    been started.  This is a nonzero integer.  See the :func:`thread.get_ident()`
> @@ -663,6 +674,7 @@
>
>
>  .. method:: Thread.is_alive()
> +            Thread.isAlive()
>
>    Return whether the thread is alive.
>
> @@ -672,11 +684,13 @@
>
>
>  .. method:: Thread.is_daemon()
> +            Thread.isDaemon()
>
>    Return the thread's daemon flag.
>
>
>  .. method:: Thread.set_daemon(daemonic)
> +            Thread.setDaemon(daemonic)
>
>    Set the thread's daemon flag to the Boolean value *daemonic*. This must be
>    called before :meth:`start` is called, otherwise :exc:`RuntimeError` is raised.
>
> Modified: python/trunk/Lib/threading.py
> ==============================================================================
> --- python/trunk/Lib/threading.py       (original)
> +++ python/trunk/Lib/threading.py       Wed Jun 11 19:50:00 2008
> @@ -9,6 +9,8 @@
>     raise
>
>  import warnings
> +
> +from functools import wraps
>  from time import time as _time, sleep as _sleep
>  from traceback import format_exc as _format_exc
>  from collections import deque
> @@ -31,6 +33,18 @@
>                         module='threading', message='sys.exc_clear')
>
>
> +def _old_api(callable, old_name):
> +    if not _sys.py3kwarning:
> +        return callable
> +    @wraps(callable)
> +    def old(*args, **kwargs):
> +        warnings.warnpy3k("In 3.x, {0} is renamed to {1}."
> +                          .format(old_name, callable.__name__),
> +                          stacklevel=3)
> +        return callable(*args, **kwargs)
> +    old.__name__ = old_name
> +    return old
> +
>  # Debug support (adapted from ihooks.py).
>  # All the major classes here derive from _Verbose.  We force that to
>  # be a new-style class so that all the major classes here are new-style.
> @@ -274,6 +288,8 @@
>     def notify_all(self):
>         self.notify(len(self.__waiters))
>
> +    notifyAll = _old_api(notify_all, "notifyAll")
> +
>
>  def Semaphore(*args, **kwargs):
>     return _Semaphore(*args, **kwargs)
> @@ -353,6 +369,8 @@
>     def is_set(self):
>         return self.__flag
>
> +    isSet = _old_api(is_set, "isSet")
> +
>     def set(self):
>         self.__cond.acquire()
>         try:
> @@ -635,10 +653,14 @@
>         assert self.__initialized, "Thread.__init__() not called"
>         return self.__name
>
> +    getName = _old_api(get_name, "getName")
> +
>     def set_name(self, name):
>         assert self.__initialized, "Thread.__init__() not called"
>         self.__name = str(name)
>
> +    setName = _old_api(set_name, "setName")
> +
>     def get_ident(self):
>         assert self.__initialized, "Thread.__init__() not called"
>         return self.__ident
> @@ -647,10 +669,14 @@
>         assert self.__initialized, "Thread.__init__() not called"
>         return self.__started.is_set() and not self.__stopped
>
> +    isAlive = _old_api(is_alive, "isAlive")
> +
>     def is_daemon(self):
>         assert self.__initialized, "Thread.__init__() not called"
>         return self.__daemonic
>
> +    isDaemon = _old_api(is_daemon, "isDaemon")
> +
>     def set_daemon(self, daemonic):
>         if not self.__initialized:
>             raise RuntimeError("Thread.__init__() not called")
> @@ -658,6 +684,8 @@
>             raise RuntimeError("cannot set daemon status of active thread");
>         self.__daemonic = daemonic
>
> +    setDaemon = _old_api(set_daemon, "setDaemon")
> +
>  # The timer class was contributed by Itamar Shtull-Trauring
>
>  def Timer(*args, **kwargs):
> @@ -763,12 +791,16 @@
>         ##print "current_thread(): no current thread for", _get_ident()
>         return _DummyThread()
>
> +currentThread = _old_api(current_thread, "currentThread")
> +
>  def active_count():
>     _active_limbo_lock.acquire()
>     count = len(_active) + len(_limbo)
>     _active_limbo_lock.release()
>     return count
>
> +activeCount = _old_api(active_count, "activeCount")
> +
>  def enumerate():
>     _active_limbo_lock.acquire()
>     active = _active.values() + _limbo.values()
>
> Modified: python/trunk/Misc/NEWS
> ==============================================================================
> --- python/trunk/Misc/NEWS      (original)
> +++ python/trunk/Misc/NEWS      Wed Jun 11 19:50:00 2008
> @@ -291,6 +291,7 @@
>  - The bundled OSX-specific copy of libbffi is now in sync with the version
>   shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
>
> +- The threading module gained alias for names that are removed in 3.x.
>
>  Build
>  -----
> _______________________________________________
> Python-checkins mailing list
> Python-checkins at python.org
> http://mail.python.org/mailman/listinfo/python-checkins
>



-- 
--Guido van Rossum (home page: http://www.python.org/~guido/)


More information about the Python-checkins mailing list