Commit Graph

464 Commits

Author SHA1 Message Date
messense 9384a081f9
Implement flake8-simplify SIM112 (#1764)
Ref #998
2023-01-10 07:24:01 -05:00
Charlie Marsh f7ac28a935
Omit `sys.version_info` and `sys.platform` checks from ternary rule (#1756)
Resolves #1753.
2023-01-09 19:22:34 -05:00
Charlie Marsh 9532f342a6
Enable project-specific typing module re-exports (#1754)
Resolves #1744.
2023-01-09 18:17:50 -05:00
Charlie Marsh 2729f3d207
Add support for defining extra builtins (#1747)
Resolves #1745.
2023-01-09 12:24:28 -05:00
Matt Oberle 147d594b38
Add isort.force-sort-within-sections setting (#1635)
This commit is a first attempt at addressing issue #1003.

The default `isort` behavior is `force-sort-within-sections = false`,
which places `from X import Y` statements after `import X` statements.

When `force-sort-within-sections = true` all imports are sorted by
module name.

When module names are equivalent, the `import` statement comes before
the `from` statement.
2023-01-09 01:06:48 -05:00
Charlie Marsh f18078a1eb
Allow unused arguments for empty methods with docstrings (#1742)
Resolves #1741.
2023-01-09 00:34:07 -05:00
Charlie Marsh 16d933fcf5
Respect isort:skip action comment (#1722)
Resolves: #1718.
2023-01-07 17:30:18 -05:00
Charlie Marsh 4de6c26ff9
Automatically remove duplicate dictionary keys (#1710)
For now, to be safe, we're only removing keys with duplicate _values_.

See: #1647.
2023-01-07 16:16:42 -05:00
Chammika Mannakkara 9cfce61f36
flake8_simplify : SIM210, SIM211, SIM212 (#1717) 2023-01-07 15:32:34 -05:00
Harutaka Kawamura 76a366e05a
Trim trailing whitespace when extracting isort directives (#1715) 2023-01-07 12:39:31 -05:00
Harutaka Kawamura 07f72990a9
Implement autofix for PT009 (#1713) 2023-01-07 12:28:25 -05:00
messense 402feffe85
Implement flake8-simplify SIM103 (#1712)
Ref #998

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-07 07:33:24 -05:00
Harutaka Kawamura 5cdd7ccdb8
Use text in comment token (#1714)
https://github.com/RustPython/RustPython/pull/4426 has been merged. We
can simplify code using text in comment tokens.
2023-01-07 07:29:04 -05:00
Charlie Marsh 0527fb9335
Automatically remove unused variables (#1683)
Closes #1460.
2023-01-06 22:06:04 -05:00
Maksudul Haque 9409b49ea2
[`flake8-bandit`] Add Rule for `S501` (request call with `verify=False`) (#1695)
ref: https://github.com/charliermarsh/ruff/issues/1646
2023-01-06 11:44:19 -05:00
Chammika Mannakkara 1392170dbf
Simplify SIM201, SIM202, SIM208 (#1666)
Flake8 simplify #998 

SIM201, SIM202 and SIM208 is done here with fixes.

Note: SIM203 == E713 

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-06 10:47:48 -05:00
messense 0a940b3cb4
Implement flake8-simplify SIM109 (#1687)
Ref #998

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-06 10:29:49 -05:00
Maksudul Haque 6aba43a9b0
[`flake8-bandit`] Add Rule for `S113` (requests call without timeout) (#1692)
ref: https://github.com/charliermarsh/ruff/issues/1646

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-06 10:26:08 -05:00
Charlie Marsh 8a3a6a901a
Avoiding flagging elif statements as potential ternaries (#1694) 2023-01-06 10:20:45 -05:00
messense 76a9dc61f0
Implement flake8-simplify SIM108 (#1684)
Ref #998

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-06 08:28:51 -05:00
Charlie Marsh 75bb6ad456
Implement duplicate isinstance detection (SIM101) (#1673)
See: #998.
2023-01-05 20:21:40 -05:00
Maksudul Haque 2d23b1ae69
[`flake8-bandit`] Add Rule for `S506` (unsafe use of yaml load) (#1664)
See: https://github.com/charliermarsh/ruff/issues/1646.

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-05 13:35:01 -05:00
Charlie Marsh 5eb03d5e09
Avoid false-positives for yields with non-identical references (#1665)
Resolves #1663.
2023-01-05 12:14:15 -05:00
Maksudul Haque 9f8ef1737e
[`flake8-bandit`] Add Rule for `S324` (Insecure hash functions in `hashlib`) (#1661)
ref: https://github.com/charliermarsh/ruff/issues/1646
2023-01-05 11:45:47 -05:00
Martin Fischer 53e3dd8548 Add ignore-overlong-task-comments setting
Imagine a .py file containing the following comment:

    # TODO: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed
    # do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Since `git grep` only matches individual lines `git grep TODO` would
only output the first line of the comment, cutting off potentially
important information. (git grep currently doesn't support multiline
grepping). Projects using such a workflow therefore probably format
the comment in a single line instead:

    # TODO: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

This commit introduces a setting to accomdate this workflow by making
the line-length checks (`E501`) optionally ignore overlong lines
if they start with a recognized task tag.

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
2023-01-04 23:54:50 -05:00
Charlie Marsh 3400be18a6 Revert "Add task-tags & ignore-overlong-task-comments settings (#1550)"
This reverts commit ca48492137.
2023-01-04 23:54:50 -05:00
Charlie Marsh b8ed4d402a
Implement `SIM110` and `SIM111` (conversion to `any` and `all`) (#1653) 2023-01-04 23:08:12 -05:00
messense 46dcf3c4c0
Implement flake8-simplify SIM107 (#1650) 2023-01-04 23:02:25 -05:00
Charlie Marsh fb8024a6ac
Implement nested with detection (SIM117) (#1651) 2023-01-04 21:22:25 -05:00
Edgar R. M 2f71bdfbfc
Implement flake8-bandit rule `S108` (#1644) 2023-01-04 21:11:13 -05:00
Charlie Marsh 30d6688c26
Implement nested-if detection (#1649) 2023-01-04 20:55:01 -05:00
Charlie Marsh 7339d7eccf
Implement builtin import removal (#1645) 2023-01-04 19:10:16 -05:00
Martin Fischer ca48492137
Add task-tags & ignore-overlong-task-comments settings (#1550) 2023-01-04 17:10:21 -05:00
Edgar R. M 1817f8752b
Implement flake8-bandit rule `S103` (#1636) 2023-01-04 15:47:38 -05:00
Harutaka Kawamura 12166584c4
Minor fixes for `SIM105` (#1633) 2023-01-04 11:01:06 -05:00
messense 0df28bdd4e
Implement flake8-simplify SIM105 rule (#1621) 2023-01-04 08:10:59 -05:00
Charlie Marsh 8b07f9517a
Implement `SIM220` and `SIM221` (#1630) 2023-01-04 08:07:00 -05:00
Harutaka Kawamura 0a0e1926f2
Check `SIM118` in comprehension (#1627) 2023-01-04 07:05:13 -05:00
Colin Delahunty fb1a638a96
Implement `yield`-to-`yield from` conversion (#1544) 2023-01-03 22:56:52 -05:00
Edgar R. M 16964409a8
Implement missing fixes for `PT006` (#1622) 2023-01-03 22:52:51 -05:00
Charlie Marsh bd14f92898
Avoid byte-string conversions (#1618) 2023-01-03 21:45:14 -05:00
Charlie Marsh 0d27c0be27
Treat .pyi files as __future__ annotations-enabled (#1616) 2023-01-03 21:27:26 -05:00
Edgar R. M 60359c6adf
Fix leftover whitespace when removing `pass` for `PIE790` (#1612) 2023-01-03 20:44:59 -05:00
Charlie Marsh 77692e4b5f
Associate inline comments with parenthesized `ImportFrom` statements (#1609) 2023-01-03 20:02:12 -05:00
Charlie Marsh 731f3a74a9
Fix *arg and **kwarg handling for Google docstrings (#1608) 2023-01-03 18:17:42 -05:00
Maksudul Haque d4d67e3014
Do not Change Quotation Style for `PT006` Autofix (#1600) 2023-01-03 10:16:49 -05:00
Ran Benita ebb31dc29b
Fix PT006 autofix of parametrize name strings like `' first, , second '` (#1591) 2023-01-03 08:12:09 -05:00
Charlie Marsh 68fbd0f029
Preserve style when generating flake8-simplify messages (#1599) 2023-01-03 08:05:55 -05:00
Charlie Marsh e0fe34c523
Implement and-false and or-true rules (#1586) 2023-01-02 23:10:42 -05:00
Harutaka Kawamura 03a8ece954
Implement autofix for F541 (#1577) 2023-01-02 22:28:32 -05:00