diff options
Diffstat (limited to 'mikrotik.py')
-rw-r--r-- | mikrotik.py | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/mikrotik.py b/mikrotik.py deleted file mode 100644 index 90dc438..0000000 --- a/mikrotik.py +++ /dev/null @@ -1,58 +0,0 @@ -from dataclasses import dataclass, field -import serial -import devices -import time -import os -import re - -@dataclass -class MikroTikSerialDevice: - device: str = os.environ["MIKROTIK_DEVICE"] - user: str = os.environ["MIKROTIK_USER"] - passwd: str = os.environ["MIKROTIK_PASS"] - - def __post_init__(self): - self.interfaces = {} - for i in os.environ["MIKROTIK_INTERFACES"].split(","): - self.interfaces.__setitem__(*i.split(":")) - - def _get_poe_info(self, port): - self.ser = serial.Serial(self.device, 115200, timeout=0.25) - - self._push_serial("") - self._push_serial(self.user) - self._push_serial(self.passwd) - self._push_serial("/interface/ethernet/poe/monitor %s" % port) - time.sleep(0.05) - self.ser.write(bytes("q", 'ISO-8859-1')) - out = self._read() - self.ser.close() - - return self._post_out(out) - - def _push_serial(self, text): - time.sleep(0.05) - self.ser.write(bytes(text + "\r\n", 'ISO-8859-1')) - time.sleep(0.05) - - def _read(self): - return self.ser.readlines() - - def _post_out(self, out): - d = {} - for line in out: - line = line.decode().strip() - if line.startswith("poe"): - d.__setitem__(*line.split(": ")) - - return d - - def get_poes(self): - - print(self.interfaces) - - -if __name__ == "__main__": - mikrotik = MikroTikSerialDevice() - print(mikrotik.get_poes()) - |