Source code for labgrid.driver.power.digipower

import requests

PORT = 80

[docs]def power_set(host, port, index, value): index = int(index) assert 1 <= index <= 8 if value: cgi = "ons.cgi" else: cgi = "offs.cgi" suffixstring = "0000000000000000" portstring = { "1": "10000000", "2": "01000000", "3": "00100000", "4": "00010000", "5": "00001000", "6": "00000100", "7": "00000010", "8": "00000001", } r = requests.get( "http://{}:{}/{}?led={}".format(host, port, cgi, portstring[index] + suffixstring), auth=("snmp", "1234"), ) r.raise_for_status()
[docs]def power_get(host, port, index): index = int(index) assert 1 <= index <= 8 # get the contents of the status page r = requests.get("http://{}:{}/status.xml".format(host, port), auth=("snmp", "1234")) r.raise_for_status() states = {"0": False, "1": True} ports = { "1": 10, "2": 11, "3": 12, "4": 13, "5": 14, "6": 15, "7": 16, "8": 17 } return states[r.content.split(',')[ports[index]]]