#!/usr/bin/env python import sys from pcp import pmapi class Test(object): def __init__(self): self.context = None self.opts = self.options() def options(self): opts = pmapi.pmOptions() opts.pmSetShortOptions("D:") opts.pmSetLongOptionDebug() # -D/--debug return opts def connect(self): """ Establish a PMAPI context to archive, host or local, via args """ self.context = pmapi.pmContext.fromOptions(self.opts, sys.argv) def execute(self): """ Execute a test """ try: self.context.pmRegisterDerived("fuu", "rat(disk.dev.read)") print "REGISTERED a rat?" except pmapi.pmErr as error: print "PMAPI exception as requested" sys.stderr.write('%s: %s\n' % (error.progname(), error.message())) if __name__ == '__main__': try: T = Test() T.connect() T.execute() except pmapi.pmUsageErr as usage: usage.message() except Exception as error: sys.stderr.write(str(error) + "\n")