astral-sh/ruff

Avoid raising S310 if user explicitly checks for URL scheme

Open

#7 918 ouverte le 11 oct. 2023

Voir sur GitHub
 (13 commentaires) (11 réactions) (0 assignés)Rust (2 088 forks)batch import
help wantedrule

Métriques du dépôt

Stars
 (47 527 stars)
Métriques de merge PR
 (Merge moyen 3j 8h) (573 PRs mergées en 30 j)

Description

  • A minimal code snippet that reproduces the bug.
import urllib.request


def foo(url: str) -> None:
    if not url.startswith(("https://", "http://")):
        raise ValueError
    req = urllib.request.Request(
        url,
        headers=headers,
        data=data,
        method=method,
    )
    resp = urllib.request.urlopen(req)

Also it would be great if ruff could recognize asserts (like assert url.startswith(("https://", "http://")))

  • The command you invoked (e.g., ruff /path/to/file.py --fix), ideally including the --isolated flag.

ruff --isolated --select S t.py

  • The current Ruff settings (any relevant sections from your pyproject.toml).

No pyproject.toml

  • The current Ruff version (ruff --version).

ruff 0.0.292

Guide contributeur