2013-05-15 12 views
12

W moim projekcie django używam zewnętrznej aplikacji, która jest źle napisana. Teraz chcę zignorować tę aplikację z mojego raportowania na temat pylintów, jednak nie mogę tego zignorować. Pylint ignoruje już migracje na południu, takie jak to:pylint: ignore multiple in rcfile

[MASTER] 
ignore=migrations 

Jednak dokumentacja stwierdza, że ​​można podać wiele ignorowań. Ale próbowałem kilku i nie mogłem ich zmusić do pracy.

nie działa:

[MASTER] 
ignore=migrations,badapp 

także nie działa:

[MASTER] 
ignore=migrations 
ignore=badapp 

Moja struktura projektu jest tak:

|-- goodapp 
| |-- models.py 
| |-- tests.py 
| +-- views.py 
|-- badapp 
| |-- models.py 
| |-- tests.py 
| +-- views.py 
|-- manage.py 

Wolę nie posypać mój kod z # pylint: skip-file, ale raczej skonfiguruj pylint przy użyciu pliku rc.

+0

Myślę, że to nie działa, ponieważ pylint nie może znaleźć pliku __init__.py w "goodapp" i "badapp". – cwirz

Odpowiedz

8

ignorowanych można ustawić wiele razy, gdy podana jako opcja wiersza poleceń, np

pylint --ignore=migrations --ignore=badapp mymodule.py 

Ale nie w pliku konfiguracyjnym (patrz dokumentacja ConfigParser). Chociaż powinno działać, jeśli nie powinno to być zgłaszane jako błąd.

+0

szybki test lokalnie sprawia, że ​​myślę, że działa zgodnie z oczekiwaniami – sthenault

+1

nie działa dla mnie na pylint 1.3.1 (CentOS 6, Fedora 21 oba mają pylint 1.3.1). może to błąd. Stworzyłem 3 katalogi 'a, b, c' z tym samym' tmp.py' i próbowałem użyć 'pylintrc' z' ignore = a, b, c' i również wypróbowałem '--ignore = a, b, c '. Plik konfiguracyjny i opcja linii poleceń nie zadziałały. –

1

Możesz zrobić --ignore=migrations,badapp, ale nie na przykład --ignore=lib/migrations,apps/badapp - pylint nie rozumie pełnych ścieżek, tylko basenames. Również w mojej wersji ignoruje wszystkie instancje multikinia o wartości --ignore w wierszu poleceń, używając tylko ostatniego parametru --ignore.