2016-10-30 09:46:26 +00:00
|
|
|
# SOME DESCRIPTIVE TITLE.
|
|
|
|
# Copyright (C) 2001-2016, Python Software Foundation
|
|
|
|
# This file is distributed under the same license as the Python package.
|
|
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
|
|
#
|
|
|
|
#, fuzzy
|
|
|
|
msgid ""
|
|
|
|
msgstr ""
|
|
|
|
"Project-Id-Version: Python 3.6\n"
|
|
|
|
"Report-Msgid-Bugs-To: \n"
|
2017-08-01 11:29:09 +00:00
|
|
|
"POT-Creation-Date: 2017-08-01 13:21+0200\n"
|
2016-10-30 09:46:26 +00:00
|
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
2017-05-23 22:40:56 +00:00
|
|
|
"Language: fr\n"
|
2016-10-30 09:46:26 +00:00
|
|
|
"MIME-Version: 1.0\n"
|
|
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:6
|
|
|
|
msgid "Module Objects"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:15
|
|
|
|
msgid ""
|
|
|
|
"This instance of :c:type:`PyTypeObject` represents the Python module type. "
|
|
|
|
"This is exposed to Python programs as ``types.ModuleType``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:21
|
|
|
|
msgid "Return true if *p* is a module object, or a subtype of a module object."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:26
|
|
|
|
msgid ""
|
|
|
|
"Return true if *p* is a module object, but not a subtype of :c:data:"
|
|
|
|
"`PyModule_Type`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:39
|
|
|
|
msgid ""
|
|
|
|
"Return a new module object with the :attr:`__name__` attribute set to "
|
|
|
|
"*name*. The module's :attr:`__name__`, :attr:`__doc__`, :attr:`__package__`, "
|
|
|
|
"and :attr:`__loader__` attributes are filled in (all but :attr:`__name__` "
|
|
|
|
"are set to ``None``); the caller is responsible for providing a :attr:"
|
|
|
|
"`__file__` attribute."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:47
|
|
|
|
msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:53
|
|
|
|
msgid ""
|
2017-08-01 11:29:09 +00:00
|
|
|
"Similar to :c:func:`PyModule_NewObject`, but the name is a UTF-8 encoded "
|
2016-10-30 09:46:26 +00:00
|
|
|
"string instead of a Unicode object."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:61
|
|
|
|
msgid ""
|
|
|
|
"Return the dictionary object that implements *module*'s namespace; this "
|
|
|
|
"object is the same as the :attr:`~object.__dict__` attribute of the module "
|
|
|
|
"object. If *module* is not a module object (or a subtype of a module "
|
|
|
|
"object), :exc:`SystemError` is raised and *NULL* is returned."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:66
|
|
|
|
msgid ""
|
|
|
|
"It is recommended extensions use other :c:func:`PyModule_\\*` and :c:func:"
|
|
|
|
"`PyObject_\\*` functions rather than directly manipulate a module's :attr:"
|
|
|
|
"`~object.__dict__`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:77
|
|
|
|
msgid ""
|
|
|
|
"Return *module*'s :attr:`__name__` value. If the module does not provide "
|
|
|
|
"one, or if it is not a string, :exc:`SystemError` is raised and *NULL* is "
|
|
|
|
"returned."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:85
|
|
|
|
msgid ""
|
|
|
|
"Similar to :c:func:`PyModule_GetNameObject` but return the name encoded to "
|
|
|
|
"``'utf-8'``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:90
|
|
|
|
msgid ""
|
|
|
|
"Return the \"state\" of the module, that is, a pointer to the block of "
|
|
|
|
"memory allocated at module creation time, or *NULL*. See :c:member:"
|
|
|
|
"`PyModuleDef.m_size`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:97
|
|
|
|
msgid ""
|
|
|
|
"Return a pointer to the :c:type:`PyModuleDef` struct from which the module "
|
|
|
|
"was created, or *NULL* if the module wasn't created from a definition."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:107
|
|
|
|
msgid ""
|
|
|
|
"Return the name of the file from which *module* was loaded using *module*'s :"
|
|
|
|
"attr:`__file__` attribute. If this is not defined, or if it is not a "
|
|
|
|
"unicode string, raise :exc:`SystemError` and return *NULL*; otherwise return "
|
|
|
|
"a reference to a Unicode object."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:117
|
|
|
|
msgid ""
|
|
|
|
"Similar to :c:func:`PyModule_GetFilenameObject` but return the filename "
|
|
|
|
"encoded to 'utf-8'."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:120
|
|
|
|
msgid ""
|
|
|
|
":c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on "
|
|
|
|
"unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:128
|
|
|
|
msgid "Initializing C modules"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:130
|
|
|
|
msgid ""
|
|
|
|
"Modules objects are usually created from extension modules (shared libraries "
|
|
|
|
"which export an initialization function), or compiled-in modules (where the "
|
|
|
|
"initialization function is added using :c:func:`PyImport_AppendInittab`). "
|
|
|
|
"See :ref:`building` or :ref:`extending-with-embedding` for details."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:135
|
|
|
|
msgid ""
|
|
|
|
"The initialization function can either pass a module definition instance to :"
|
|
|
|
"c:func:`PyModule_Create`, and return the resulting module object, or request "
|
|
|
|
"\"multi-phase initialization\" by returning the definition struct itself."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:141
|
|
|
|
msgid ""
|
|
|
|
"The module definition struct, which holds all information needed to create a "
|
|
|
|
"module object. There is usually only one statically initialized variable of "
|
|
|
|
"this type for each module."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:147
|
|
|
|
msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:151
|
|
|
|
msgid "Name for the new module."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:155
|
|
|
|
msgid ""
|
|
|
|
"Docstring for the module; usually a docstring variable created with :c:func:"
|
|
|
|
"`PyDoc_STRVAR` is used."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:160
|
|
|
|
msgid ""
|
|
|
|
"Module state may be kept in a per-module memory area that can be retrieved "
|
|
|
|
"with :c:func:`PyModule_GetState`, rather than in static globals. This makes "
|
|
|
|
"modules safe for use in multiple sub-interpreters."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:164
|
|
|
|
msgid ""
|
|
|
|
"This memory area is allocated based on *m_size* on module creation, and "
|
|
|
|
"freed when the module object is deallocated, after the :c:member:`m_free` "
|
|
|
|
"function has been called, if present."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:168
|
|
|
|
msgid ""
|
|
|
|
"Setting ``m_size`` to ``-1`` means that the module does not support sub-"
|
|
|
|
"interpreters, because it has global state."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:171
|
|
|
|
msgid ""
|
|
|
|
"Setting it to a non-negative value means that the module can be re-"
|
|
|
|
"initialized and specifies the additional amount of memory it requires for "
|
|
|
|
"its state. Non-negative ``m_size`` is required for multi-phase "
|
|
|
|
"initialization."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:176
|
|
|
|
msgid "See :PEP:`3121` for more details."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:180
|
|
|
|
msgid ""
|
|
|
|
"A pointer to a table of module-level functions, described by :c:type:"
|
|
|
|
"`PyMethodDef` values. Can be *NULL* if no functions are present."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:185
|
|
|
|
msgid ""
|
|
|
|
"An array of slot definitions for multi-phase initialization, terminated by a "
|
|
|
|
"``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must "
|
|
|
|
"be *NULL*."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:191
|
|
|
|
msgid ""
|
|
|
|
"Prior to version 3.5, this member was always set to *NULL*, and was defined "
|
|
|
|
"as:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:198
|
|
|
|
msgid ""
|
|
|
|
"A traversal function to call during GC traversal of the module object, or "
|
|
|
|
"*NULL* if not needed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:203
|
|
|
|
msgid ""
|
|
|
|
"A clear function to call during GC clearing of the module object, or *NULL* "
|
|
|
|
"if not needed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:208
|
|
|
|
msgid ""
|
|
|
|
"A function to call during deallocation of the module object, or *NULL* if "
|
|
|
|
"not needed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:212
|
|
|
|
msgid "Single-phase initialization"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:214
|
|
|
|
msgid ""
|
|
|
|
"The module initialization function may create and return the module object "
|
|
|
|
"directly. This is referred to as \"single-phase initialization\", and uses "
|
|
|
|
"one of the following two module creation functions:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:220
|
|
|
|
msgid ""
|
|
|
|
"Create a new module object, given the definition in *def*. This behaves "
|
|
|
|
"like :c:func:`PyModule_Create2` with *module_api_version* set to :const:"
|
|
|
|
"`PYTHON_API_VERSION`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:227
|
|
|
|
msgid ""
|
|
|
|
"Create a new module object, given the definition in *def*, assuming the API "
|
|
|
|
"version *module_api_version*. If that version does not match the version of "
|
|
|
|
"the running interpreter, a :exc:`RuntimeWarning` is emitted."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:233
|
|
|
|
msgid ""
|
|
|
|
"Most uses of this function should be using :c:func:`PyModule_Create` "
|
|
|
|
"instead; only use this if you are sure you need it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:236
|
|
|
|
msgid ""
|
|
|
|
"Before it is returned from in the initialization function, the resulting "
|
|
|
|
"module object is typically populated using functions like :c:func:"
|
|
|
|
"`PyModule_AddObject`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:242
|
|
|
|
msgid "Multi-phase initialization"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:244
|
|
|
|
msgid ""
|
|
|
|
"An alternate way to specify extensions is to request \"multi-phase "
|
|
|
|
"initialization\". Extension modules created this way behave more like Python "
|
|
|
|
"modules: the initialization is split between the *creation phase*, when the "
|
|
|
|
"module object is created, and the *execution phase*, when it is populated. "
|
|
|
|
"The distinction is similar to the :py:meth:`__new__` and :py:meth:`__init__` "
|
|
|
|
"methods of classes."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:251
|
|
|
|
msgid ""
|
|
|
|
"Unlike modules created using single-phase initialization, these modules are "
|
|
|
|
"not singletons: if the *sys.modules* entry is removed and the module is re-"
|
|
|
|
"imported, a new module object is created, and the old module is subject to "
|
|
|
|
"normal garbage collection -- as with Python modules. By default, multiple "
|
|
|
|
"modules created from the same definition should be independent: changes to "
|
|
|
|
"one should not affect the others. This means that all state should be "
|
|
|
|
"specific to the module object (using e.g. using :c:func:"
|
|
|
|
"`PyModule_GetState`), or its contents (such as the module's :attr:`__dict__` "
|
|
|
|
"or individual classes created with :c:func:`PyType_FromSpec`)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:261
|
|
|
|
msgid ""
|
|
|
|
"All modules created using multi-phase initialization are expected to "
|
|
|
|
"support :ref:`sub-interpreters <sub-interpreter-support>`. Making sure "
|
|
|
|
"multiple modules are independent is typically enough to achieve this."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:265
|
|
|
|
msgid ""
|
|
|
|
"To request multi-phase initialization, the initialization function "
|
|
|
|
"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :"
|
|
|
|
"c:member:`~PyModuleDef.m_slots`. Before it is returned, the ``PyModuleDef`` "
|
|
|
|
"instance must be initialized with the following function:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:272
|
|
|
|
msgid ""
|
|
|
|
"Ensures a module definition is a properly initialized Python object that "
|
|
|
|
"correctly reports its type and reference count."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:275
|
|
|
|
msgid "Returns *def* cast to ``PyObject*``, or *NULL* if an error occurred."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:279
|
|
|
|
msgid ""
|
|
|
|
"The *m_slots* member of the module definition must point to an array of "
|
|
|
|
"``PyModuleDef_Slot`` structures:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:286
|
|
|
|
msgid "A slot ID, chosen from the available values explained below."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:290
|
|
|
|
msgid "Value of the slot, whose meaning depends on the slot ID."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:294
|
|
|
|
msgid "The *m_slots* array must be terminated by a slot with id 0."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:296
|
|
|
|
msgid "The available slot types are:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:300
|
|
|
|
msgid ""
|
|
|
|
"Specifies a function that is called to create the module object itself. The "
|
|
|
|
"*value* pointer of this slot must point to a function of the signature:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:305
|
|
|
|
msgid ""
|
|
|
|
"The function receives a :py:class:`~importlib.machinery.ModuleSpec` "
|
|
|
|
"instance, as defined in :PEP:`451`, and the module definition. It should "
|
|
|
|
"return a new module object, or set an error and return *NULL*."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:310
|
|
|
|
msgid ""
|
|
|
|
"This function should be kept minimal. In particular, it should not call "
|
|
|
|
"arbitrary Python code, as trying to import the same module again may result "
|
|
|
|
"in an infinite loop."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:314
|
|
|
|
msgid ""
|
|
|
|
"Multiple ``Py_mod_create`` slots may not be specified in one module "
|
|
|
|
"definition."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:317
|
|
|
|
msgid ""
|
|
|
|
"If ``Py_mod_create`` is not specified, the import machinery will create a "
|
|
|
|
"normal module object using :c:func:`PyModule_New`. The name is taken from "
|
|
|
|
"*spec*, not the definition, to allow extension modules to dynamically adjust "
|
|
|
|
"to their place in the module hierarchy and be imported under different names "
|
|
|
|
"through symlinks, all while sharing a single module definition."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:323
|
|
|
|
msgid ""
|
|
|
|
"There is no requirement for the returned object to be an instance of :c:type:"
|
|
|
|
"`PyModule_Type`. Any type can be used, as long as it supports setting and "
|
|
|
|
"getting import-related attributes. However, only ``PyModule_Type`` instances "
|
|
|
|
"may be returned if the ``PyModuleDef`` has non-*NULL* ``m_traverse``, "
|
|
|
|
"``m_clear``, ``m_free``; non-zero ``m_size``; or slots other than "
|
|
|
|
"``Py_mod_create``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:332
|
|
|
|
msgid ""
|
|
|
|
"Specifies a function that is called to *execute* the module. This is "
|
|
|
|
"equivalent to executing the code of a Python module: typically, this "
|
|
|
|
"function adds classes and constants to the module. The signature of the "
|
|
|
|
"function is:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:339
|
|
|
|
msgid ""
|
|
|
|
"If multiple ``Py_mod_exec`` slots are specified, they are processed in the "
|
|
|
|
"order they appear in the *m_slots* array."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:342
|
|
|
|
msgid "See :PEP:`489` for more details on multi-phase initialization."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:345
|
|
|
|
msgid "Low-level module creation functions"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:347
|
|
|
|
msgid ""
|
|
|
|
"The following functions are called under the hood when using multi-phase "
|
|
|
|
"initialization. They can be used directly, for example when creating module "
|
|
|
|
"objects dynamically. Note that both ``PyModule_FromDefAndSpec`` and "
|
|
|
|
"``PyModule_ExecDef`` must be called to fully initialize a module."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:354
|
|
|
|
msgid ""
|
|
|
|
"Create a new module object, given the definition in *module* and the "
|
|
|
|
"ModuleSpec *spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` "
|
|
|
|
"with *module_api_version* set to :const:`PYTHON_API_VERSION`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:362
|
|
|
|
msgid ""
|
|
|
|
"Create a new module object, given the definition in *module* and the "
|
|
|
|
"ModuleSpec *spec*, assuming the API version *module_api_version*. If that "
|
|
|
|
"version does not match the version of the running interpreter, a :exc:"
|
|
|
|
"`RuntimeWarning` is emitted."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:369
|
|
|
|
msgid ""
|
|
|
|
"Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` "
|
|
|
|
"instead; only use this if you are sure you need it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:376
|
|
|
|
msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:382
|
|
|
|
msgid ""
|
|
|
|
"Set the docstring for *module* to *docstring*. This function is called "
|
|
|
|
"automatically when creating a module from ``PyModuleDef``, using either "
|
|
|
|
"``PyModule_Create`` or ``PyModule_FromDefAndSpec``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:391
|
|
|
|
msgid ""
|
|
|
|
"Add the functions from the *NULL* terminated *functions* array to *module*. "
|
|
|
|
"Refer to the :c:type:`PyMethodDef` documentation for details on individual "
|
|
|
|
"entries (due to the lack of a shared module namespace, module level "
|
|
|
|
"\"functions\" implemented in C typically receive the module as their first "
|
|
|
|
"parameter, making them similar to instance methods on Python classes). This "
|
|
|
|
"function is called automatically when creating a module from "
|
|
|
|
"``PyModuleDef``, using either ``PyModule_Create`` or "
|
|
|
|
"``PyModule_FromDefAndSpec``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:403
|
|
|
|
msgid "Support functions"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:405
|
|
|
|
msgid ""
|
|
|
|
"The module initialization function (if using single phase initialization) or "
|
|
|
|
"a function called from a module execution slot (if using multi-phase "
|
|
|
|
"initialization), can use the following functions to help initialize the "
|
|
|
|
"module state:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:412
|
|
|
|
msgid ""
|
|
|
|
"Add an object to *module* as *name*. This is a convenience function which "
|
|
|
|
"can be used from the module's initialization function. This steals a "
|
|
|
|
"reference to *value*. Return ``-1`` on error, ``0`` on success."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:418
|
|
|
|
msgid ""
|
|
|
|
"Add an integer constant to *module* as *name*. This convenience function "
|
|
|
|
"can be used from the module's initialization function. Return ``-1`` on "
|
|
|
|
"error, ``0`` on success."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:425
|
|
|
|
msgid ""
|
|
|
|
"Add a string constant to *module* as *name*. This convenience function can "
|
|
|
|
"be used from the module's initialization function. The string *value* must "
|
|
|
|
"be *NULL*-terminated. Return ``-1`` on error, ``0`` on success."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:432
|
|
|
|
msgid ""
|
|
|
|
"Add an int constant to *module*. The name and the value are taken from "
|
|
|
|
"*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int "
|
|
|
|
"constant *AF_INET* with the value of *AF_INET* to *module*. Return ``-1`` on "
|
|
|
|
"error, ``0`` on success."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:440
|
|
|
|
msgid "Add a string constant to *module*."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:444
|
|
|
|
msgid "Module lookup"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:446
|
|
|
|
msgid ""
|
|
|
|
"Single-phase initialization creates singleton modules that can be looked up "
|
|
|
|
"in the context of the current interpreter. This allows the module object to "
|
|
|
|
"be retrieved later with only a reference to the module definition."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:450
|
|
|
|
msgid ""
|
|
|
|
"These functions will not work on modules created using multi-phase "
|
|
|
|
"initialization, since multiple such modules can be created from a single "
|
|
|
|
"definition."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:455
|
|
|
|
msgid ""
|
|
|
|
"Returns the module object that was created from *def* for the current "
|
|
|
|
"interpreter. This method requires that the module object has been attached "
|
|
|
|
"to the interpreter state with :c:func:`PyState_AddModule` beforehand. In "
|
|
|
|
"case the corresponding module object is not found or has not been attached "
|
|
|
|
"to the interpreter state yet, it returns *NULL*."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:462
|
|
|
|
msgid ""
|
|
|
|
"Attaches the module object passed to the function to the interpreter state. "
|
|
|
|
"This allows the module object to be accessible via :c:func:"
|
|
|
|
"`PyState_FindModule`."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:465
|
|
|
|
msgid "Only effective on modules created using single-phase initialization."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../Doc/c-api/module.rst:471
|
|
|
|
msgid ""
|
|
|
|
"Removes the module object created from *def* from the interpreter state."
|
|
|
|
msgstr ""
|