From 5afb92275cddb1c971a80a4516c9a42de475c2d5 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Sun, 17 Apr 2011 09:18:12 -0500 Subject: [PATCH] Encourage storage systems to passively accept extraneous keyword arguments w/ **kwargs. Also did that for BasicFileStorage. --- mediagoblin/storage.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/mediagoblin/storage.py b/mediagoblin/storage.py index c39f5325..d9a57c2a 100644 --- a/mediagoblin/storage.py +++ b/mediagoblin/storage.py @@ -65,9 +65,17 @@ class StorageInterface(object): It is important to note that the storage API idea of a "filepath" is actually like ['dir1', 'dir2', 'file.jpg'], so keep that in mind while reading method documentation. + + You should set up your __init__ method with whatever keyword + arguments are appropriate to your storage system, but you should + also passively accept all extraneous keyword arguments like: + + def __init__(self, **kwargs): + pass + + See BasicFileStorage as a simple implementation of the + StorageInterface. """ - # def __init__(self, *args, **kwargs): - # pass def __raise_not_implemented(self): """ @@ -142,7 +150,7 @@ class BasicFileStorage(StorageInterface): Basic local filesystem implementation of storage API """ - def __init__(self, base_dir, base_url=None): + def __init__(self, base_dir, base_url=None, **kwargs): """ Keyword arguments: - base_dir: Base directory things will be served out of. MUST -- 2.25.1