2012-08-17 7 views
6

W Django mam pakiet, który wystawia ostrzeżenie o amortyzacji (django.views.generic.simple). Byłoby użyteczne, gdyby to ostrzeżenie opisywało, gdzie import został utworzony z, aby koder mógł wejść i zmienić plik bez konieczności przechodzenia przez kod, aby go znaleźć.Wyświetl szczegóły importera

Więc ogólnie sprawa jest

#file1.py 
import file2.py 

#file2.py 
import warnings 
warnings.warn(
'Package deprecated: imported from %s' % __importer__, 
DeprecationWarning 
) 

Gdzie __importer__ jest wyimaginowany atrybut zawierający „file1.py”, czy coś takiego odniesienia.

Czy istnieje sposób, aby to zrobić?

Odpowiedz

6

Tak, robi się to za pomocą argumentu stacklevel dla warnings.warn. Zobacz przykład w documentation, aby uzyskać więcej informacji.

+0

To tylko praca! – powlo