removing old callable utilities and porting stuff over.
authorChristopher Allan Webber <cwebber@dustycloud.org>
Fri, 19 Apr 2013 21:51:14 +0000 (16:51 -0500)
committerChristopher Allan Webber <cwebber@dustycloud.org>
Fri, 19 Apr 2013 21:51:14 +0000 (16:51 -0500)
mediagoblin/app.py
mediagoblin/init/celery/__init__.py
mediagoblin/init/celery/from_celery.py
mediagoblin/init/plugins/__init__.py
mediagoblin/tools/pluginapi.py

index 2c88e916cfb80c23b45283691a8035caa8b103e4..bf0e0f13b87349546332b7fb3862503a03448736 100644 (file)
@@ -35,7 +35,7 @@ from mediagoblin.init.plugins import setup_plugins
 from mediagoblin.init import (get_jinja_loader, get_staticdirector,
     setup_global_and_app_config, setup_locales, setup_workbench, setup_database,
     setup_storage)
-from mediagoblin.tools.pluginapi import PluginManager
+from mediagoblin.tools.pluginapi import PluginManager, hook_transform
 from mediagoblin.tools.crypto import setup_crypto
 
 
@@ -259,8 +259,6 @@ def paste_app_factory(global_config, **app_config):
         raise IOError("Usable mediagoblin config not found.")
 
     mgoblin_app = MediaGoblinApp(mediagoblin_config)
-
-    for callable_hook in PluginManager().get_hook_callables('wrap_wsgi'):
-        mgoblin_app = callable_hook(mgoblin_app)
+    mgoblin_app = hook_transform('wrap_wsgi', mgoblin_app)
 
     return mgoblin_app
index bb0d5989496a48df2872935726019e22154459ab..169cc93595901567237673fac4054463cb9d311d 100644 (file)
@@ -18,7 +18,7 @@ import os
 import sys
 
 from celery import Celery
-from mediagoblin.tools.pluginapi import callable_runall
+from mediagoblin.tools.pluginapi import hook_runall
 
 
 MANDATORY_CELERY_IMPORTS = ['mediagoblin.processing.task']
@@ -66,7 +66,7 @@ def setup_celery_app(app_config, global_config,
     celery_app = Celery()
     celery_app.config_from_object(celery_settings)
 
-    callable_runall('celery_setup', celery_app)
+    hook_runall('celery_setup', celery_app)
 
 
 def setup_celery_from_config(app_config, global_config,
index e2899c0b3522aa29cc08f3e74167a8be540366c4..b395a8262c893068106697f5bd69bf2504c18e3b 100644 (file)
@@ -22,7 +22,7 @@ from celery.signals import setup_logging
 
 from mediagoblin import app, mg_globals
 from mediagoblin.init.celery import setup_celery_from_config
-from mediagoblin.tools.pluginapi import callable_runall
+from mediagoblin.tools.pluginapi import hook_runall
 
 
 OUR_MODULENAME = __name__
@@ -47,7 +47,7 @@ def setup_logging_from_paste_ini(loglevel, **kw):
 
     logging.config.fileConfig(logging_conf_file)
 
-    callable_runall('celery_logging_setup')
+    hook_runall('celery_logging_setup')
 
 
 setup_logging.connect(setup_logging_from_paste_ini)
index 72bd5c7d857b56023442c64d77f6f3af105f7932..0df4f381733edc6b2403179f001e2ce36ad394e2 100644 (file)
@@ -59,4 +59,4 @@ def setup_plugins():
             pman.register_hooks(plugin.hooks)
 
     # Execute anything registered to the setup hook.
-    pluginapi.callable_runall('setup')
+    pluginapi.hook_runall('setup')
index ab90ed55c82be306f232ed1dfdc1e2fa3c4542bf..3f98aa8a5f751415f3f181658c4bb1dfe23d1b5a 100644 (file)
@@ -274,73 +274,7 @@ def get_hook_templates(hook_name):
     return PluginManager().get_template_hooks(hook_name)
 
 
-###########################
-# Callable convenience code
-###########################
-
-class CantHandleIt(Exception):
-    """
-    A callable may call this method if they look at the relevant
-    arguments passed and decide it's not possible for them to handle
-    things.
-    """
-    pass
-
-class UnhandledCallable(Exception):
-    """
-    Raise this method if no callables were available to handle the
-    specified hook.  Only used by callable_runone.
-    """
-    pass
-
-
-def callable_runone(hookname, *args, **kwargs):
-    """
-    Run the callable hook HOOKNAME... run until the first response,
-    then return.
-
-    This function will run stop at the first hook that handles the
-    result.  Hooks raising CantHandleIt will be skipped.
-
-    Unless unhandled_okay is True, this will error out if no hooks
-    have been registered to handle this function.
-    """
-    callables = PluginManager().get_hook_callables(hookname)
-
-    unhandled_okay = kwargs.pop("unhandled_okay", False)
-
-    for callable in callables:
-        try:
-            return callable(*args, **kwargs)
-        except CantHandleIt:
-            continue
-
-    if unhandled_okay is False:
-        raise UnhandledCallable(
-            "No hooks registered capable of handling '%s'" % hookname)
-
-
-def callable_runall(hookname, *args, **kwargs):
-    """
-    Run all callables for HOOKNAME.
-
-    This method will run *all* hooks that handle this method (skipping
-    those that raise CantHandleIt), and will return a list of all
-    results.
-    """
-    callables = PluginManager().get_hook_callables(hookname)
-
-    results = []
-
-    for callable in callables:
-        try:
-            results.append(callable(*args, **kwargs))
-        except CantHandleIt:
-            continue
-
-    return results
-
-
+#############################
 ## Hooks: The Next Generation
 #############################