aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Allan Webber <cwebber@dustycloud.org>2013-06-25 13:25:25 -0500
committerChristopher Allan Webber <cwebber@dustycloud.org>2013-06-25 13:25:25 -0500
commit7fa4e19fc4e7d04175549ea2f21f8b741fbe69f2 (patch)
tree052264d10210867317cdfefe02ec32f00a28d443
parentc1b342ba95e99407ccedfdfad306ddb36fde6eb0 (diff)
downloadmediagoblin-7fa4e19fc4e7d04175549ea2f21f8b741fbe69f2.tar.lz
mediagoblin-7fa4e19fc4e7d04175549ea2f21f8b741fbe69f2.tar.xz
mediagoblin-7fa4e19fc4e7d04175549ea2f21f8b741fbe69f2.zip
Add a bit more docs to plugin configuration
This commit sponsored by Michael Rauch. Thank you!
-rw-r--r--docs/source/pluginwriter/api.rst26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/source/pluginwriter/api.rst b/docs/source/pluginwriter/api.rst
index 66def173..29adb691 100644
--- a/docs/source/pluginwriter/api.rst
+++ b/docs/source/pluginwriter/api.rst
@@ -69,6 +69,32 @@ example might look like::
This means that when people enable your plugin in their config you'll
be able to provide defaults as well as type validation.
+You can access this via the app_config variables in mg_globals, or you
+can use a shortcut to get your plugin's config section::
+
+ >>> from mediagoblin.tools import pluginapi
+ # Replace with the path to your plugin.
+ # (If an external package, it won't be part of mediagoblin.plugins)
+ >>> floobie_config = pluginapi.get_config('mediagoblin.plugins.floobifier')
+ >>> floobie_dir = floobie_config['floobie_dir']
+ # This is the same as the above
+ >>> from mediagoblin import mg_globals
+ >>> config = mg_globals.global_config['plugins']['mediagoblin.plugins.floobifier']
+ >>> floobie_dir = floobie_config['floobie_dir']
+
+A tip: you have access to the `%(here)s` variable in your config,
+which is the directory that the user's mediagoblin config is running
+out of. So for example, your plugin may need a "floobie" directory to
+store floobs in. You could give them a reasonable default that makes
+use of the default `user_dev` location, but allow users to override
+it, like so::
+
+ [plugin_spec]
+ floobie_dir = string(default="%(here)s/user_dev/floobs/")
+
+Note, this is relative to the user's mediagoblin config directory,
+*not* your plugin directory!
+
Context Hooks
-------------