summaryrefslogtreecommitdiffstats
path: root/contrib/python/ipython/py3/IPython/utils/openpy.py
diff options
context:
space:
mode:
authorrobot-contrib <[email protected]>2022-05-18 00:43:36 +0300
committerrobot-contrib <[email protected]>2022-05-18 00:43:36 +0300
commit9e5f436a8b2a27bcc7802e443ea3ef3e41a82a75 (patch)
tree78b522cab9f76336e62064d4d8ff7c897659b20e /contrib/python/ipython/py3/IPython/utils/openpy.py
parent8113a823ffca6451bb5ff8f0334560885a939a24 (diff)
Update contrib/python/ipython/py3 to 8.3.0
ref:e84342d4d30476f9148137f37fd0c6405fd36f55
Diffstat (limited to 'contrib/python/ipython/py3/IPython/utils/openpy.py')
-rw-r--r--contrib/python/ipython/py3/IPython/utils/openpy.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/contrib/python/ipython/py3/IPython/utils/openpy.py b/contrib/python/ipython/py3/IPython/utils/openpy.py
index c90d2b53a30..297a762c7d2 100644
--- a/contrib/python/ipython/py3/IPython/utils/openpy.py
+++ b/contrib/python/ipython/py3/IPython/utils/openpy.py
@@ -7,6 +7,7 @@ Much of the code is taken from the tokenize module in Python 3.2.
import io
from io import TextIOWrapper, BytesIO
+from pathlib import Path
import re
from tokenize import open, detect_encoding
@@ -59,20 +60,21 @@ def strip_encoding_cookie(filelike):
def read_py_file(filename, skip_encoding_cookie=True):
"""Read a Python file, using the encoding declared inside the file.
-
+
Parameters
----------
filename : str
- The path to the file to read.
+ The path to the file to read.
skip_encoding_cookie : bool
- If True (the default), and the encoding declaration is found in the first
- two lines, that line will be excluded from the output.
-
+ If True (the default), and the encoding declaration is found in the first
+ two lines, that line will be excluded from the output.
+
Returns
-------
A unicode string containing the contents of the file.
"""
- with open(filename) as f: # the open function defined in this module.
+ filepath = Path(filename)
+ with open(filepath) as f: # the open function defined in this module.
if skip_encoding_cookie:
return "".join(strip_encoding_cookie(f))
else:
@@ -80,18 +82,18 @@ def read_py_file(filename, skip_encoding_cookie=True):
def read_py_url(url, errors='replace', skip_encoding_cookie=True):
"""Read a Python file from a URL, using the encoding declared inside the file.
-
+
Parameters
----------
url : str
- The URL from which to fetch the file.
+ The URL from which to fetch the file.
errors : str
- How to handle decoding errors in the file. Options are the same as for
- bytes.decode(), but here 'replace' is the default.
+ How to handle decoding errors in the file. Options are the same as for
+ bytes.decode(), but here 'replace' is the default.
skip_encoding_cookie : bool
- If True (the default), and the encoding declaration is found in the first
- two lines, that line will be excluded from the output.
-
+ If True (the default), and the encoding declaration is found in the first
+ two lines, that line will be excluded from the output.
+
Returns
-------
A unicode string containing the contents of the file.