zc.buildout recipe for managing WordPress plugins/themes and MediaWiki extensions
Project description
leocornus.recipe.wpmw
A buildout recipe trying to provide an easy way to manage WordPress Plugins, themes and MediaWiki Extenstions.
Detailed Documentation
This recipe should have 2 major functions: WordPress Plugins and MediaWiki Extensions
Options
The leocornus.recipe.wpmw:Plugins recipe could be used to download WordPress Plugins package, extract to certain folder, and create the symlink to WordPress wp-content/plugins folder. It supports the following general options:
Options for all recipes:
ignore-existing
default is true, ignore existing folder.
Options for plugins recipe:
plugins
A list of plugins id and version at format id=version. e.g. buddypress=1.5.1
plugins-repo
The base URL to download the plugins, default is http://downloads.wordpress.org/plugin. This option allow user to get plugins from an interal repository.
wordpress-root
The root folder of WordPress installation. The wp-content/plugins folder is within it.
Options for extensions recipe:
extensions
A list of extensions id and version at format id=version. e.g. SemanticForms=2.4
extensions-repo
The base URL, where we could download the extensions.
mediawiki-root
The root folder of MediaWiki installation. We will create symlink in its extensions sub-folder.
zc.buildout built in a set of easy to use functions to simplfy the testing for buildout recipe. Check http://pypi.python.org/pypi/zc.buildout/1.5.2#testing-support for more details.
Examples for WordPress Plugins
get ready a empty WordPress plugins folder for testing.
>>> import os.path >>> wordpress = tmpdir('wordpress') >>> mkdir(wordpress, 'wp-content') >>> ls(wordpress) d wp-content >>> mkdir(wordpress, 'wp-content', 'plugins') >>> ls(wordpress, 'wp-content') d plugins
Try to run the Plugins recipe. The sample_buildout is a built-in buildout object provided by zc.buildout.testing package.
>>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = wpplugins ... ... [wpplugins] ... recipe = leocornus.recipe.wpmw:plugins ... plugins = ... buddypress=1.5.1 ... bp-moderation=0.1.4 ... buddypress-links=0.5 ... wordpress-root = %(wordpress)s ... """ % dict(wordpress=wordpress))
Run the buildout
>>> print system(buildout) Installing wpplugins. Downloading http://downloads.wordpress.org/plugin/buddypress.1.5.1.zip wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-1.5.1 wpplugins: Create symlink to .../wordpress/wp-content/plugins/buddypress Downloading http://downloads.wordpress.org/plugin/bp-moderation.0.1.4.zip wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/bp-moderation-0.1.4 wpplugins: Create symlink to .../wordpress/wp-content/plugins/bp-moderation Downloading http://downloads.wordpress.org/plugin/buddypress-links.0.5.zip wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-links-0.5 wpplugins: Create symlink to .../wordpress/wp-content/plugins/buddypress-links
Check the parts folder to make sure all plugins are downloaded.
>>> ls(sample_buildout, 'parts') d buildout d wpplugins>>> ls(sample_buildout, 'parts', 'wpplugins') d bp-moderation-0.1.4 d buddypress-1.5.1 d buddypress-links-0.5
check the WordPress plugins folder to make sure all symlink are created.
>>> ls(wordpress, 'wp-content', 'plugins') d bp-moderation d buddypress d buddypress-links
Examples for MediaWiki Extensions
We need a temp server for this testing
>>> import os.path >>> testdata = join(os.path.dirname(__file__), 'testdata') >>> server = start_server(testdata)
Prepare an empty MediaWiki extensions folder for testing
>>> mediawiki = tmpdir('mediawiki') >>> mkdir(mediawiki, 'extensions') >>> ls(mediawiki) d extensions
A simple buildout configuration file.
>>> write(sample_buildout, 'buildout.cfg', ... """ ... [buildout] ... parts = mwextensions ... ... [mwextensions] ... recipe = leocornus.recipe.wpmw:extensions ... extensions = ... Cite=r37577 ... SemanticForms=1.9.1 ... SemanticMediaWiki=1.5.1 ... extensions-repo = %(server)srepos ... mediawiki-root = %(mediawiki)s ... """ % dict(server=server, mediawiki=mediawiki))
Run the buildout and check the result.
>>> print system(buildout) Uninstalling wpplugins. Installing mwextensions. Downloading http://.../repos/Cite.r37577.zip mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/Cite-r37577 mwextensions: Create symlink to .../mediawiki/extensions/Cite Downloading http://.../repos/SemanticForms.1.9.1.zip mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticForms-1.9.1 mwextensions: Create symlink to .../mediawiki/extensions/SemanticForms Downloading http://.../repos/SemanticMediaWiki.1.5.1.zip mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticMediaWiki-1.5.1 mwextensions: Create symlink to .../mediawiki/extensions/SemanticMediaWiki
check the parts folder.
>>> ls(sample_buildout, 'parts') d buildout d mwextensions d wpplugins >>> ls(sample_buildout, 'parts', 'mwextensions') d Cite-r37577 d SemanticForms-1.9.1 d SemanticMediaWiki-1.5.1
check the MediaWiki extensions folder
>>> ls(mediawiki, 'extensions') d Cite d SemanticForms d SemanticMediaWiki
Download
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for leocornus.recipe.wpmw-1.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cb520307557f66e046d256c625124aa66b5a56027dfec814cd0d8ffe5da544b |
|
MD5 | e0ae543b27ebf3a2bef26f1258bbbe82 |
|
BLAKE2b-256 | 2e41031c54be1d5efa665d0b7f3d2828fd7142d2680bc91f9e968f9c518fc23f |