Commit Graph

1503 Commits

Author SHA1 Message Date
Jon Dufresne 004b2cf9a8 Remove unused utility function consume()
Unused since e706af20fe.
2021-01-01 16:07:53 -08:00
Stéphane Bidoul 062f0e54d9
Merge pull request #9401 from jdufresne/ne
Remove unnecessary __ne__ definitions
2021-01-01 19:38:09 +01:00
Stéphane Bidoul 35604e5a4c
Merge pull request #9403 from jdufresne/get-revision
Harmonize return type of VersionControl.get_revision in subclasses
2021-01-01 19:36:20 +01:00
Jon Dufresne ca053fbe88 Handle ._get_svn_url_rev() returning None in .get_remote_url()
The method Subversion._get_svn_url_rev() will sometimes return None for
a remote URL. The calling code should handle this. If it is None, raise
a RemoteNotFoundError as prescribed by the parent class docstring.

Followup to 0b761a164c.
2020-12-31 14:36:58 -08:00
Jon Dufresne c513c5e890 Harmonize return type of VersionControl.get_revision in subclasses
Previously, the Subversion subclass violated the parent's type signature
by returning an int, but it is now coerced to a str to match the
expected signature.
2020-12-30 11:25:29 -08:00
Jon Dufresne a49f1732e9 Remove unnecessary __ne__ definitions
Unnecessary since dropping Python 2 support. In Python 3, `__ne__`
defaults to the opposite of of `__eq__`.

https://docs.python.org/3/reference/datamodel.html#object.__ne__

> For `__ne__()`, by default it delegates to `__eq__()` and inverts the
> result unless it is `NotImplemented`.
2020-12-30 08:23:04 -08:00
Jon Dufresne 5150129f6b Replace compat.expanduser() with os.path.expanduser()
The upstream bug has been fixed and released in all supported Python
version: https://bugs.python.org/issue14768
2020-12-29 08:15:55 -08:00
Pradyun Gedam af5b7fe1f9
Merge pull request #9390 from jdufresne/noqa
Remove unnecessary "noqa" comments
2020-12-29 09:01:17 +00:00
Pradyun Gedam 914b7c2165
Merge pull request #9389 from jdufresne/copy-tree-kwargs
Remove unused class CopytreeKwargs
2020-12-29 08:57:42 +00:00
Jon Dufresne 133e146a88 Remove unused type VersionCandidate
Unused since 6a8956d7a8.
2020-12-28 19:18:20 -08:00
Jon Dufresne b78f71216f Remove unnecessary "noqa" comments 2020-12-28 18:19:09 -08:00
Jon Dufresne 4bfe1037ee Remove unused class CopytreeKwargs
Unused since d509a27ad4.
2020-12-28 17:07:56 -08:00
Pradyun Gedam 67c03c3e81
Merge pull request #9382 from jdufresne/colorama-import
Remove outdated mypy workaround for colorama import
2020-12-28 07:46:51 +00:00
Pradyun Gedam adca454611
Merge pull request #9385 from jdufresne/named-temp-file
Remove unnecessary type override NamedTemporaryFileResult
2020-12-28 07:36:22 +00:00
Jon Dufresne 089bbcb939 Remove unnecessary type override NamedTemporaryFileResult
The object returned by NamedTemporaryFile delegates all functions calls
to the underlying file so can avoid the type override by relying on IO
methods.
2020-12-27 17:19:28 -08:00
Jon Dufresne 9109e1ccde Remove outdated mypy workaround for colorama import 2020-12-27 13:15:27 -08:00
Jon Dufresne bd0c1f5d4c Remove outdated PyPy workaround for site_packages location
Upstream issue has been resolved and released on Python versions
supported by pip:
https://foss.heptapod.net/pypy/pypy/-/issues/2506
2020-12-27 12:16:28 -08:00
Jon Dufresne 8a9fea7434 Remove unnecessary class FakeFile
The class was being used in a single place, passed to csv.reader().
However, per the docs, csv.reader() can handle a list of str objects.

https://docs.python.org/3/library/csv.html#csv.reader

> csvfile can be any object which supports the iterator protocol and
> returns a string each time its __next__() method is called — file
> objects and list objects are both suitable.
2020-12-27 09:26:15 -08:00
Jon Dufresne 14380668b5 Drop csv23 in favor of stdlib csv
Using csv23 has been unnecessary since dropping Python 2 support. It
previously remained as a compatibility shim.
2020-12-27 08:09:32 -08:00
Pradyun Gedam 609d9d4a68
Merge pull request #9371 from hugovk/tidy-urllib-imports
Clean up urllib imports
2020-12-27 15:34:09 +00:00
Tzu-ping Chung 92b90ea7e9 Split news into two sections 2020-12-27 22:25:34 +08:00
Hugo van Kemenade a3e246f7d0 Cleanup: replace 'from urllib import xyz as urllib_xyz' with import urllib.xyz 2020-12-27 16:18:44 +02:00
Tzu-ping Chung 6a438bdc93 Upgrade vendored resolvelib to 0.5.4 2020-12-27 20:23:07 +08:00
Pradyun Gedam 5ccd226df8
Merge pull request #9364 from jdufresne/oserror
Use unified OSError and its subclasses
2020-12-27 12:15:41 +00:00
Pradyun Gedam 7e609a058e
Merge pull request #9315 from pradyunsg/better-search-errors 2020-12-27 11:59:44 +00:00
Tzu-ping Chung 8e55757a2f Lazy-evaluate candidates with installed inserted 2020-12-27 04:17:26 +08:00
Jon Dufresne d282fb94a3 Use unified OSError and its subclasses
Since Python 3.3, the following classes have merged into OSError. They
remain as aliases for backward compatibility.

- EnvironmentError
- IOError
- WindowsError

https://docs.python.org/3/library/exceptions.html#OSError

Python 3 also has subclasses of OSError to help identify more specific
errors. For example, FileNotFoundError. This allows simplifying some
except blocks.
2020-12-26 12:16:09 -08:00
Jon Dufresne 14ebb03997 Use "yield from" syntax
Available since Python 3.3.

https://docs.python.org/3/whatsnew/3.3.html#pep-380
2020-12-26 07:04:58 -08:00
Pradyun Gedam c383ec3b41
Merge pull request #9172 from webknjaz/docs/unreleased-change-fragments-preview
Add a preview for the "next release" change notes
2020-12-26 10:50:10 +00:00
Pradyun Gedam a48ad5385b
Merge pull request #9352 from jdufresne/io-codecs-open
Replace io.open() and codecs.open() with builtin open()
2020-12-26 10:24:47 +00:00
Pradyun Gedam 86afa89043
Merge pull request #9361 from jdufresne/f-strings
Use f-strings for simple string formatting
2020-12-26 10:24:18 +00:00
Pradyun Gedam fecfa11f5a
Merge pull request #9359 from jdufresne/get-remote-url
Harmonize type signature of VersionControl.get_remote_url() subclasses
2020-12-26 10:23:39 +00:00
Pradyun Gedam 7407bc1e8a
Merge pull request #9353 from ichard26/fix_broken_mailto_link
Fix broken email link in docs feedback banners
2020-12-26 10:21:59 +00:00
Pradyun Gedam 31eb524ff0
Merge pull request #9351 from jdufresne/object
Remove object from class definitions
2020-12-26 10:21:40 +00:00
Pradyun Gedam 49c898e4b6
Merge pull request #9358 from jdufresne/uses-fragment
Remove Python 2 compatibility shim for urlparse.uses_fragment
2020-12-26 10:21:09 +00:00
Pradyun Gedam 7a6b1a5805
Merge pull request #9357 from jdufresne/ipaddress
Replace vendored ipaddress with stdlib
2020-12-26 10:20:18 +00:00
Pradyun Gedam 3977babbab
Merge pull request #9362 from jdufresne/str-call-literal
Remove unnecessary str() call around str literal
2020-12-26 09:21:21 +00:00
Pradyun Gedam fe741a2610
Merge pull request #9360 from jdufresne/json-decode-error
Remove Python 2 compatibility shim for json.JSONDecodeError
2020-12-26 09:20:42 +00:00
Pradyun Gedam 4e48ba838b
Merge pull request #9356 from jdufresne/lru-cache
Replace utils.compat.lru_cache with stdlib functools.lru_cache
2020-12-26 09:20:20 +00:00
Jon Dufresne 1f9d6e4aea Remove unnecessary str() call around str literal
Unnecessary since dropping Python 2.
2020-12-25 16:52:35 -08:00
Jon Dufresne 07ddf66f65 Remove Python 2 compatibility shim for json.JSONDecodeError
JSONDecodeError has been available since Python 3.5.

https://docs.python.org/3/library/json.html#json.JSONDecodeError
2020-12-25 16:28:53 -08:00
Jon Dufresne cdcf74fb8e Use f-strings for simple string formatting
Use pyupgrade to convert simple string formatting to use f-string
syntax. pyupgrade is intentionally timid and will not create an f-string
if it would make the expression longer or if the substitution parameters
are anything but simple names or dotted names.
2020-12-25 16:21:20 -08:00
Jon Dufresne a1fff4a080 Replace io.open() and codecs.open() with builtin open()
In Python 3, these are functionally equivalent and share the same
feature set.
2020-12-25 15:53:08 -08:00
Jon Dufresne 09b3d3a50b Remove object from class definitions
Unnecessary since dropping Python 2 support. In Python 3, all classes
are new style classes.
2020-12-25 15:48:11 -08:00
Jon Dufresne 0b761a164c Harmonize type signature of VersionControl.get_remote_url() subclasses
In the base class, the signature is defined as:

    type: (str) -> str

Further, the docstring says:

    Raises RemoteNotFoundError if the repository does not have a remote
    url configured.

However, some subclasses were returning None instead of raising
RemoteNotFoundError. This violated the type signature and forced calling
code to handle multiple error paradigms.

Now, all subclasses implement the base's signature.

This allowed simplifying some call sites as they can assume None will
not be returned.

This mismatch was noticed while trying to remove "mypy:
disallow-untyped-defs=False" comments.
2020-12-25 13:45:17 -08:00
Jon Dufresne 7e3fe0c84e Remove Python 2 compatibility shim for urlparse.uses_fragment
This attribute (now urllib.parse.uses_fragment) is unused by the stdlib
and remains only for backwards compatibility. See the comment:

https://github.com/python/cpython/blob/v3.6.0/Lib/urllib/parse.py#L55-L63
2020-12-25 11:48:38 -08:00
Pradyun Gedam f91ba6b348
Merge pull request #9354 from jdufresne/super
Use short Python3 super() syntax
2020-12-25 19:18:28 +00:00
Jon Dufresne 17d72b748f Replace utils.compat.lru_cache with stdlib functools.lru_cache
The stdlib version has been available since Python 3.2.
2020-12-25 08:51:15 -08:00
Jon Dufresne 653f12b5e7 Replace vendored ipaddress with stdlib
The vendored copy is unnecessary since dropping Python 2 support. The
module has been available in the stdlib since Python 3.3.
2020-12-25 08:47:38 -08:00
Jon Dufresne 2e38024991 Drop u prefix from str literals
Unnecessary since dropping Python 2 support.

This makes one test case from test_str_to_display a duplicate and so has
been removed.
2020-12-25 07:26:06 -08:00