Files
olt-api/drivers/__init__.py
2026-02-18 10:17:09 -03:00

38 lines
990 B
Python

from abc import ABC, abstractmethod
class OltDriver(ABC):
"""
Classe base abstrata para drivers de OLT.
Todos os drivers específicos devem herdar desta classe e implementar
seus métodos abstratos.
"""
def __init__(self, host, username, password, **kwargs):
self.host = host
self.username = username
self.password = password
self.options = kwargs
@abstractmethod
def connect(self):
"""
Estabelece a conexão com a OLT (SSH/Telnet).
Deve retornar o objeto de conexão (ex: Netmiko connection handler).
"""
pass
@abstractmethod
def get_olt_stats(self):
"""
Coleta estatísticas completas da OLT (Cards > PONs > ONTs).
Deve retornar um dicionário hierárquico:
{
"FGLT": [
{
"cardIndex": "...",
"pons": [...]
}
]
}
"""
pass