diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-06-25 13:25:25 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-06-25 13:25:25 -0500 |
commit | 7fa4e19fc4e7d04175549ea2f21f8b741fbe69f2 (patch) | |
tree | 052264d10210867317cdfefe02ec32f00a28d443 | |
parent | c1b342ba95e99407ccedfdfad306ddb36fde6eb0 (diff) | |
download | mediagoblin-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.rst | 26 |
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 ------------- |