Commit a33eb06e authored by Christian Heimes's avatar Christian Heimes

Added descriptor for builtins.open.__doc__

Before the change help(open) didn't return anything helpful but the doc string of io.OpenWrapper. Now it shows the user the documentation of io.open.
parent 895627ff
...@@ -189,6 +189,14 @@ def open(file, mode="r", buffering=None, encoding=None, errors=None, ...@@ -189,6 +189,14 @@ def open(file, mode="r", buffering=None, encoding=None, errors=None,
text.mode = mode text.mode = mode
return text return text
class _DocDescriptor:
"""Helper for builtins.open.__doc__
"""
def __get__(self, obj, typ):
return (
"open(file, mode='r', buffering=None, encoding=None, "
"errors=None, newline=None, closefd=True)\n\n" +
open.__doc__)
class OpenWrapper: class OpenWrapper:
"""Wrapper for builtins.open """Wrapper for builtins.open
...@@ -198,6 +206,8 @@ class OpenWrapper: ...@@ -198,6 +206,8 @@ class OpenWrapper:
See initstdio() in Python/pythonrun.c. See initstdio() in Python/pythonrun.c.
""" """
__doc__ = _DocDescriptor()
def __new__(cls, *args, **kwargs): def __new__(cls, *args, **kwargs):
return open(*args, **kwargs) return open(*args, **kwargs)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment