PyCQA/flake8-bugbear

B008: extend-immutable-calls does not work with imported function

開放

#252 建立於 2022年4月4日

 (5 則留言) (1 個反應) (0 位負責人)Python (116 個分叉)github user discovery
bugenhancementhelp wanted

倉庫指標

星標
 (1,116 顆星)
PR 合併指標
 (平均合併 4小時 17分鐘) (30 天內合併 3 個 PR)

描述

I have small framework, which has Depends function simialr to fastapi feature. In my projects I want flake8-bubear to ignore only this funcion, but not any other function with same name. I've tried to set full link in flake config, but it does not work. I know that it is possible to always use full function name, but it looks dirty:

Example 1. Correct behavior - no B008 In config:

extend-immutable-calls=myapp.api.lambda_handler.depends.Depends

In code

import myapp.api.lambda_handler.depends

@app.handler
def get_data(
        session: Session = myapp.api.lambda_handler.depends.Depends(),
) -> HttpResponse[ListResponse[AA]]:

Example 2. Incorrect behavior - B008 In config:

extend-immutable-calls=myapp.api.lambda_handler.depends.Depends

In code

from myapp.api.lambda_handler.depends import Depends

@app.handler
def get_data(
        session: Session = Depends(),
) -> HttpResponse[ListResponse[AA]]:

Example 3. Incorrect behavior - no B008

extend-immutable-calls=Depends
from myapp.api.lambda_handler.depends import Depends

@app.handler
def get_data(
        session: Session = Depends(),
) -> HttpResponse[ListResponse[AA]]:
    ...

def Depends(): 
    return []

@app.handler
def put_data(
        session: Session = Depends(),
) -> HttpResponse[ListResponse[AA]]:

貢獻者指南