CMS 3D CMS Logo

utilities.py
Go to the documentation of this file.
1 from __future__ import print_function
2 
3 def cache(function):
4  cache = {}
5  def newfunction(*args, **kwargs):
6  try:
7  return cache[args, tuple(sorted(kwargs.iteritems()))]
8  except TypeError:
9  print(args, tuple(sorted(kwargs.iteritems())))
10  raise
11  except KeyError:
12  cache[args, tuple(sorted(kwargs.iteritems()))] = function(*args, **kwargs)
13  return newfunction(*args, **kwargs)
14  newfunction.__name__ = function.__name__
15  return newfunction
Definition: vlib.h:256
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def cache(function)
Definition: utilities.py:3