From da986562e5b79629fb509fba61a492dfd499121a Mon Sep 17 00:00:00 2001 From: Yannick Ulrich <yannick.ulrich@psi.ch> Date: Sun, 9 Feb 2020 11:38:28 +0100 Subject: [PATCH] 9: user interface for loader in re #17 --- pymule/__init__.py | 7 ++++--- pymule/loader.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/pymule/__init__.py b/pymule/__init__.py index f5ee1b0..4a33857 100644 --- a/pymule/__init__.py +++ b/pymule/__init__.py @@ -3,7 +3,8 @@ import matplotlib.pyplot as plt from vegas import importvegas from errortools import mergenumbers, plusnumbers, dividenumbers, timesnumbers,\ - mergeplots, addplots, combineNplots, scaleplot -from loader import importreg, pattern, \ + mergeplots, addplots, combineNplots, scaleplot, \ + integratehistogram, mergebins +from loader import importreg, pattern, setup, sigma, \ mergeset, mergeseeds, mergefks, \ - addsets + addsets, scaleset diff --git a/pymule/loader.py b/pymule/loader.py index c2408f8..39ac2fc 100644 --- a/pymule/loader.py +++ b/pymule/loader.py @@ -2,6 +2,9 @@ import re from vegas import importvegas from errortools import * import os +import inspect + +loadargs = {} def getplots(s): @@ -114,3 +117,28 @@ def mergefks(*sets): for para in paras: ans.append(addsets([i[para] for i in sets])) return mergeset(ans) + + +def callsanitised(func, **kwargs): + global loadargs + legal = inspect.getargspec(func).args + args = {} + args.update(loadargs) + args.update(kwargs) + args = { + i: args[i] + for i in args.keys() + if i in legal + } + return func(**args) + + +def setup(**kwargs): + global loadargs + loadargs = kwargs + + +def sigma(piece, **kwargs): + pat = callsanitised(pattern, piece=piece, **kwargs) + s = callsanitised(importreg, r=pat, **kwargs) + return callsanitised(mergeseeds, s=s, **kwargs) -- GitLab