obsolete.computer

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")

Meta