misc-scripts/print-fixtures.py
File Type: text/x-script.python
#!/usr/bin/python
import xml.etree.ElementTree as ET
import sys
def parseXML(xml_file):
tree = ET.ElementTree(file=xml_file)
root = tree.getroot()
fixtureList = root.findall('FixtureList')[0]
fixtures = fixtureList.findall('Fixture')
print ("-" * 53)
print ("QLC Patch List for " + filename)
print ("-" * 53)
print ("%-20s %10s %10s %10s" % ("Name", "Universe", "Address", "Dip"))
for fixture in fixtures:
fixture_Name = fixture.findall('Name')[0].text
fixture_Universe = int(fixture.findall('Universe')[0].text)
fixture_Address = int(fixture.findall('Address')[0].text)+1
fixture_Dip = '{0:010b}'.format(fixture_Address)[::-1]
print ("%-20s %10i %10i %s" % (fixture_Name, fixture_Universe, fixture_Address, fixture_Dip))
if __name__ == "__main__":
if len(sys.argv) >= 2:
filename = sys.argv[1]
parseXML(filename)
else:
print ("Please specify a patch file to read")