From c7e6b9b566069f8e8d79d23c376a04a8a2e7726d Mon Sep 17 00:00:00 2001 From: Peder Bergebakken Sundt Date: Thu, 16 Nov 2017 22:10:14 +0100 Subject: [PATCH] Generalize listify_output decorator into wrap_output --- common.py | 12 ++++++------ svg.py | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/common.py b/common.py index ba24a1e..251950e 100644 --- a/common.py +++ b/common.py @@ -38,12 +38,12 @@ def memoize_singlearg(func):#a decorator return ret return Memoizer().__getitem__ - - -def listify_output(func):#decorator - def new_func(*args, **kwargs): - return list(func(*args, **kwargs)) - return new_func +def wrap_output(type):#decorator with parameters + def decorator(func):#decorator + def new_func(*args, **kwargs): + return type(func(*args, **kwargs)) + return new_func + return decorator def call(func):#decorator return func() diff --git a/svg.py b/svg.py index 691b03e..2add5a8 100644 --- a/svg.py +++ b/svg.py @@ -1,8 +1,8 @@ import glob, os import config -from common import memoize, listify_output +from common import memoize, wrap_output -@listify_output +@wrap_output(list) def list_all(collection = None): if collection: for i in glob.glob(os.path.join(config.svgdir, collection, "*.svg")): @@ -11,7 +11,7 @@ def list_all(collection = None): for i in glob.glob(os.path.join(config.svgdir, "*.svg")): yield os.path.basename(i)[:-4] -@listify_output +@wrap_output(list) def list_collections(): for i in glob.glob(os.path.join(config.svgdir, "*")): if not i.endswith(".svg"):