#!/usr/bin/env python import warnings warnings.filterwarnings("error") import argparse parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument("pvname") parser.add_argument("-n", "--num", type=int, default=1000) clargs = parser.parse_args() from functools import partial from animation import Animation from plots import Plot0D, Plot1D, Plot2D from sources import Camera, Source def decide_src_fun(pvname, num): pvname = pvname.upper() if pvname.endswith(":FPICTURE"): print("Camera", pvname) src = Camera(pvname) fun = Plot2D return src, fun print("Source", pvname) src = Source(pvname) print(src.nelm) if src.nelm == 0: raise SystemExit(f"{src}: {src.value}") if src.nelm == 1: print("Scalar") if num <= 0: num = None fun = partial(Plot0D, num) else: print("Curve") fun = Plot1D return src, fun pvname = clargs.pvname num = clargs.num src, fun = decide_src_fun(pvname, num) Animation(src, fun)