Initial commit

This commit is contained in:
HalbeBruno
2026-02-18 10:17:09 -03:00
commit 7a34121e6d
24 changed files with 2338 additions and 0 deletions

37
drivers/__init__.py Normal file
View File

@@ -0,0 +1,37 @@
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