# SOME DESCRIPTIVE TITLE. # Copyright (C) 1990-2016, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 2.7\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-10-30 10:44+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: ../Doc/library/contextlib.rst:2 msgid "" ":mod:`contextlib` --- Utilities for :keyword:`with`\\ -statement contexts" msgstr "" #: ../Doc/library/contextlib.rst:10 msgid "**Source code:** :source:`Lib/contextlib.py`" msgstr "**Code source :** :source:`Lib/contextlib.py`" #: ../Doc/library/contextlib.rst:14 msgid "" "This module provides utilities for common tasks involving the :keyword:" "`with` statement. For more information see also :ref:`typecontextmanager` " "and :ref:`context-managers`." msgstr "" #: ../Doc/library/contextlib.rst:18 msgid "Functions provided:" msgstr "" #: ../Doc/library/contextlib.rst:23 msgid "" "This function is a :term:`decorator` that can be used to define a factory " "function for :keyword:`with` statement context managers, without needing to " "create a class or separate :meth:`__enter__` and :meth:`__exit__` methods." msgstr "" #: ../Doc/library/contextlib.rst:27 msgid "" "A simple example (this is not recommended as a real way of generating " "HTML!)::" msgstr "" #: ../Doc/library/contextlib.rst:44 msgid "" "The function being decorated must return a :term:`generator`-iterator when " "called. This iterator must yield exactly one value, which will be bound to " "the targets in the :keyword:`with` statement's :keyword:`as` clause, if any." msgstr "" #: ../Doc/library/contextlib.rst:48 msgid "" "At the point where the generator yields, the block nested in the :keyword:" "`with` statement is executed. The generator is then resumed after the block " "is exited. If an unhandled exception occurs in the block, it is reraised " "inside the generator at the point where the yield occurred. Thus, you can " "use a :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` " "statement to trap the error (if any), or ensure that some cleanup takes " "place. If an exception is trapped merely in order to log it or to perform " "some action (rather than to suppress it entirely), the generator must " "reraise that exception. Otherwise the generator context manager will " "indicate to the :keyword:`with` statement that the exception has been " "handled, and execution will resume with the statement immediately following " "the :keyword:`with` statement." msgstr "" #: ../Doc/library/contextlib.rst:63 msgid "Combine multiple context managers into a single nested context manager." msgstr "" #: ../Doc/library/contextlib.rst:65 msgid "" "This function has been deprecated in favour of the multiple manager form of " "the :keyword:`with` statement." msgstr "" #: ../Doc/library/contextlib.rst:68 msgid "" "The one advantage of this function over the multiple manager form of the :" "keyword:`with` statement is that argument unpacking allows it to be used " "with a variable number of context managers as follows::" msgstr "" #: ../Doc/library/contextlib.rst:77 msgid "" "Note that if the :meth:`__exit__` method of one of the nested context " "managers indicates an exception should be suppressed, no exception " "information will be passed to any remaining outer context managers. " "Similarly, if the :meth:`__exit__` method of one of the nested managers " "raises an exception, any previous exception state will be lost; the new " "exception will be passed to the :meth:`__exit__` methods of any remaining " "outer context managers. In general, :meth:`__exit__` methods should avoid " "raising exceptions, and in particular they should not re-raise a passed-in " "exception." msgstr "" #: ../Doc/library/contextlib.rst:86 msgid "" "This function has two major quirks that have led to it being deprecated. " "Firstly, as the context managers are all constructed before the function is " "invoked, the :meth:`__new__` and :meth:`__init__` methods of the inner " "context managers are not actually covered by the scope of the outer context " "managers. That means, for example, that using :func:`nested` to open two " "files is a programming error as the first file will not be closed promptly " "if an exception is thrown when opening the second file." msgstr "" #: ../Doc/library/contextlib.rst:94 msgid "" "Secondly, if the :meth:`__enter__` method of one of the inner context " "managers raises an exception that is caught and suppressed by the :meth:" "`__exit__` method of one of the outer context managers, this construct will " "raise :exc:`RuntimeError` rather than skipping the body of the :keyword:" "`with` statement." msgstr "" #: ../Doc/library/contextlib.rst:100 msgid "" "Developers that need to support nesting of a variable number of context " "managers can either use the :mod:`warnings` module to suppress the " "DeprecationWarning raised by this function or else use this function as a " "model for an application specific implementation." msgstr "" #: ../Doc/library/contextlib.rst:105 msgid "" "The with-statement now supports this functionality directly (without the " "confusing error prone quirks)." msgstr "" #: ../Doc/library/contextlib.rst:111 msgid "" "Return a context manager that closes *thing* upon completion of the block. " "This is basically equivalent to::" msgstr "" #: ../Doc/library/contextlib.rst:123 msgid "And lets you write code like this::" msgstr "" #: ../Doc/library/contextlib.rst:132 msgid "" "without needing to explicitly close ``page``. Even if an error occurs, " "``page.close()`` will be called when the :keyword:`with` block is exited." msgstr "" #: ../Doc/library/contextlib.rst:139 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - The \"with\" statement" #: ../Doc/library/contextlib.rst:139 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr ""