commit e5bde92bcaaa6b0e4cac01d6d27ecc2969662662 Author: Wolfgang Hottgenroth Date: Wed Feb 19 21:12:57 2025 +0100 initial diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1d17dae --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.venv diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..984b5cc --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pyagentx3==0.1.4 diff --git a/snippets/agentx/test.py b/snippets/agentx/test.py new file mode 100644 index 0000000..a901d36 --- /dev/null +++ b/snippets/agentx/test.py @@ -0,0 +1,62 @@ +import pyagentx3 +import threading +import time + + +# -------------------------------------------- +import logging +class NullHandler(logging.Handler): + def emit(self, record): + pass +logger = logging.getLogger('pyagentx3.main') +logger.addHandler(NullHandler()) +# -------------------------------------------- + + + +# Updater class that set OID values +class TestData(pyagentx3.Updater): + def update(self): + self.set_INTEGER('1', self.data_store['cnt']) + +class TestAgent(pyagentx3.Agent): + def __init__(self, agent_id='TestAgent', socket_path=None, data_store=None): + self.data_store = data_store + super().__init__(agent_id, socket_path) + + def setup(self): + self.register('1.3.6.1.4.1.9676.1', TestData, freq=1, data_store=self.data_store) + +class Data(threading.Thread): + def __init__(self): + self.data = {'cnt': 1} + self.stop_event = threading.Event() + threading.Thread.__init__(self) + + def run(self): + while not self.stop_event.is_set(): + self.data['cnt'] += 1 + logger.info('data updated') + time.sleep(1.0) + logger.info('Data collector stopping') + + def stop(self): + self.stop_event.set() + self.join() + + +# Main +pyagentx3.setup_logging() +try: + d = Data() + d.start() + a = TestAgent(data_store=d.data) + a.start() +except Exception as e: + print( "Unhandled exception:", e) + a.stop() + d.stop() +except KeyboardInterrupt: + a.stop() + d.stop() + diff --git a/snippets/ntp/test.py b/snippets/ntp/test.py new file mode 100644 index 0000000..2d00d48 --- /dev/null +++ b/snippets/ntp/test.py @@ -0,0 +1,16 @@ +import ntp.packet + +session = ntp.packet.ControlSession() +session.openhost('localhost') + +peers = session.readstat() + +l = session.readvar(0) +print(f"{l=}") + +for p in peers: + l = session.readvar(p.associd) + print(f"{p.associd}: {dict(l)}") + + +