##// END OF EJS Templates
py3: manually import pycompat.open into files that need it...
py3: manually import pycompat.open into files that need it We want to eliminate the source transformer. Currently it inserts a `from mercurial.pycompat import ...` at the top of files to alias some builtins. This commit replaces the implicit import of `open` with an explicit import on files that need it and changes the source transformer to no longer import `open`. As part of this, we needed to store an explicit local for `open` in the Python 2 code path in `pycompat` so the import works. (Builtins that are automatically in scope cannot be imported.) Differential Revision: https://phab.mercurial-scm.org/D7005

File last commit:

r43346:2372284d default
r43355:eef9a2d6 default
Show More
pypi.py
21 lines | 551 B | text/x-python | PythonLexer
# pypi.py - Automation around PyPI
#
# Copyright 2019 Gregory Szorc <gregory.szorc@gmail.com>
#
# This software may be used and distributed according to the terms of the
# GNU General Public License version 2 or any later version.
# no-check-code because Python 3 native.
from twine.commands.upload import upload as twine_upload
from twine.settings import Settings
def upload(paths):
"""Upload files to PyPI.
`paths` is an iterable of `pathlib.Path`.
"""
settings = Settings()
twine_upload(settings, [str(p) for p in paths])