Hey mam pewien problem i nie wiem jak go ugryźć. Mam dwa pliki (moduły). Jeden to powiadomienia.py który zawiera klasę pełną metod zajmujących się generowaniem powiadomień na podstawie zgłoszonych wyjątków, np. pracujący program wyłapują wyjątek, przekazuje go do zaimportowanego wcześniej modułu powiadomienia.py a ten moduł odpowiednio na niego reaguje np. wyświetla komunikat albo wysyła sms...
Drugi plik to gsm.py zawierający klasę z metodami odpowiedzialnymi za rozsyłaniem wiadomości sms itp.
Problem polega na tym, że oba te pliki są sobie potrzebne do prawidłowego działania dlatego powinny się importować wzajemnie ale to niemożliwe. Python wywala błąd.
Przykładowo kiedy kiedy moduł powiadomienia.py uzna, że należy wysłać sms korzysta z zaimportowanego pliku gsm.py. Z drugiej strony kiedy moduł gsm się wysypie, zgłosi wyjątek potrzebuje przesłać go do modułu powiadomienia.py aby ten odpowiednio na niego zareagował
Pliki nie muszą importować całych modułów, mogą importować klasy - ważne żeby działało. Czy da się to zrobić? Wyczytałem, że prawidłowo zaprojektowany program nie ma takich problemów :P dlatego jeśli trzeba będzie te moduły przeprojektować to tak zrobię. Zależy mi bardziej na zrobieniu tego jak należy a nie magicznych sztuczkach oszukania i tymczasowych rozwiązaniach :)
W końcu w ostateczności mógłbym w module gsm.py wstawić łapanie wyjątków i wtedy ten plik nie musiał by importować powiadomienia.py ale to rozwiązanie staje się wtedy mało elastyczne.