{ "info": { "author": "Sean Chen", "author_email": "sean.chen@leocorn.com", "bugtrack_url": null, "classifiers": [ "Framework :: Buildout", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "|travis|_ |pypi-version|_ |pypi-download|_ |pypi-license|_ \n\nleocornus.recipe.wpmw\n=====================\n\nA buildout recipe trying to provide an easy way to manage WordPress Plugins, themes and \nMediaWiki Extenstions.\n\nCheck `package README `_ for \noptions and samples.\n\nLicense\n-------\n\n`GPLv2 license `_\n\n.. |travis| image:: https://api.travis-ci.org/leocornus/leocornus.recipe.wpmw.png\n.. _travis: https://travis-ci.org/leocornus/leocornus.recipe.wpmw\n.. |pypi-version| image:: http://img.shields.io/pypi/v/leocornus.recipe.wpmw.svg\n.. _pypi-version: https://pypi.python.org/pypi/leocornus.recipe.wpmw\n.. |pypi-download| image:: http://img.shields.io/pypi/dm/leocornus.recipe.wpmw.svg\n.. _pypi-download: https://pypi.python.org/pypi/leocornus.recipe.wpmw\n.. |pypi-license| image:: http://img.shields.io/pypi/l/leocornus.recipe.wpmw.svg\n.. _pypi-license: https://pypi.python.org/pypi/leocornus.recipe.wpmw\n\nDetailed Documentation\n**********************\n\n\nThis recipe should have 2 major functions: WordPress Plugins and \nMediaWiki Extensions\n\nOptions\n=======\n\nThe ``leocornus.recipe.wpmw:Plugins`` recipe could be used to download WordPress\nPlugins package, extract to certain folder, and create the symlink to WordPress\nwp-content/plugins folder. It supports the following general options:\n\nOptions for all recipes:\n\n``ignore-existing``\n\n Default is true, ignore existing folder.\n\nOptions for ``deploy`` recipe:\n\n``packages``\n\n A list of packages id and version at format id=version.\n e.g. SomeSkin=1.1\n\n``packages-repo``\n\n The base URL, where we could download the packages.\n\n``file-extension``\n\n set the file extension for each package. default is **.zip**\n\n``separator``\n\n set the separator between name and version. default is **.**.\n\n``destination``\n\n The target folder where the packages are extracted to.\n\n``action``\n\n There are 2 values for this option: ``symlink`` and ``copy``.\n Default value is ``symlink``. This option will be \n ignored for ``symlink`` and ``download`` recipes. \n\nOptions for ``symlink`` recipe:\n\n``target-folder``\n\n the target folder, from which we create symlink to the link_name.\n\n``link-folder``\n\n the link folder will have all the link names.\n\n``names``\n\n the names used to create the symlink. The following command will be used:\n $ ln -s target_folder/name link_folder/name\n\nzc.buildout built in a set of easy to use functions to simplfy the testing for buildout\nrecipe. Check http://pypi.python.org/pypi/zc.buildout/1.5.2#testing-support for more\ndetails.\n\nExamples for deploy recipe\n==========================\n\nPrepare the testing server for download\n\n >>> import os.path\n >>> testdir = join(os.path.dirname(__file__), 'testdata')\n >>> server = start_server(testdir)\n\nGet ready the testing folders.\n\n >>> dest = tmpdir('dest')\n >>> mkdir(dest, 'extensions')\n >>> mkdir(dest, 'plugins')\n >>> ls(dest)\n d extensions\n d plugins\n\ntry to crate a symlink in plugins folder to test the unlink function.\n\n >>> import os\n >>> bp = tmpdir('bp-fake')\n >>> print bp\n /tmp/.../bp-fake\n >>> os.symlink(bp, os.path.join(dest, 'plugins', 'buddypress'))\n >>> ls(dest, 'plugins')\n d buddypress\n\ncreate a broken symlink, we have to use ``os.path.lexists`` to check the link name exist or\nnot.\n\n >>> bplink = tmpdir('bp-link')\n >>> os.symlink(bplink, os.path.join(dest, 'plugins', 'buddypress-links'))\n >>> ls(dest, 'plugins')\n d buddypress\n d buddypress-links\n >>> remove(bplink)\n >>> ls(dest, 'plugins')\n d buddypress\n l buddypress-links\n\nBuildout file to testing deployment with default symlink action.\n\n >>> write(sample_buildout, 'buildout.cfg',\n ... \"\"\"\n ... [buildout]\n ... parts = \n ... wpplugins\n ... mwextensions\n ... \n ... [wpplugins]\n ... recipe = leocornus.recipe.wpmw:deploy\n ... packages = \n ... buddypress=1.5.1\n ... bp-moderation=0.1.4\n ... buddypress-links=0.5\n ... packages-repo = http://downloads.wordpress.org/plugin\n ... destination = %(dest)s/plugins\n ...\n ... [mwextensions]\n ... recipe = leocornus.recipe.wpmw:deploy\n ... packages = \n ... Cite=r37577\n ... SemanticForms=1.9.1\n ... SemanticMediaWiki=1.5.1\n ... packages-repo = %(server)srepos\n ... destination = %(dest)s/extensions\n ... \"\"\" % dict(server=server, dest=dest))\n\nRun the buildout\n\n >>> print system(buildout)\n Installing wpplugins.\n Downloading http://downloads.wordpress.org/plugin/buddypress.1.5.1.zip\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-1.5.1\n wpplugins: Create symlink to .../dest/plugins/buddypress\n Downloading http://downloads.wordpress.org/plugin/bp-moderation.0.1.4.zip\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/bp-moderation-0.1.4\n wpplugins: Create symlink to .../dest/plugins/bp-moderation\n Downloading http://downloads.wordpress.org/plugin/buddypress-links.0.5.zip\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-links-0.5\n wpplugins: Create symlink to .../dest/plugins/buddypress-links\n Installing mwextensions.\n Downloading http://.../repos/Cite.r37577.zip\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/Cite-r37577\n mwextensions: Create symlink to .../dest/extensions/Cite\n Downloading http://.../repos/SemanticForms.1.9.1.zip\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticForms-1.9.1\n mwextensions: Create symlink to .../dest/extensions/SemanticForms\n Downloading http://.../repos/SemanticMediaWiki.1.5.1.zip\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticMediaWiki-1.5.1\n mwextensions: Create symlink to .../dest/extensions/SemanticMediaWiki\n ...\n\nCheck the destnation folder\n\n >>> ls(dest, 'plugins')\n d bp-moderation\n d buddypress\n d buddypress-links\n >>> ls(dest, 'extensions')\n d Cite\n d SemanticForms\n d SemanticMediaWiki\n\nNow, let's try the hard copy action.\n\n >>> write(sample_buildout, 'buildout.cfg',\n ... \"\"\"\n ... [buildout]\n ... parts = \n ... wpplugins\n ... mwextensions\n ... \n ... [wpplugins]\n ... recipe = leocornus.recipe.wpmw:deploy\n ... action = copy\n ... packages = \n ... buddypress=1.5.1\n ... bp-moderation=0.1.4\n ... buddypress-links=0.5\n ... packages-repo = http://downloads.wordpress.org/plugin\n ... destination = %(dest)s/plugins\n ...\n ... [mwextensions]\n ... recipe = leocornus.recipe.wpmw:deploy\n ... action = copy\n ... packages = \n ... Cite=r37577\n ... SemanticForms=1.9.1\n ... SemanticMediaWiki=1.5.1\n ... packages-repo = %(server)srepos\n ... destination = %(dest)s/extensions\n ... \"\"\" % dict(server=server, dest=dest))\n >>> print system(buildout)\n Uninstalling mwextensions.\n Uninstalling wpplugins.\n Installing wpplugins.\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-1.5.1\n wpplugins: Rename to .../dest/plugins/buddypress\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/bp-moderation-0.1.4\n wpplugins: Rename to .../dest/plugins/bp-moderation\n wpplugins: Extracting package to .../sample-buildout/parts/wpplugins/buddypress-links-0.5\n wpplugins: Rename to .../dest/plugins/buddypress-links\n Installing mwextensions.\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/Cite-r37577\n mwextensions: Rename to .../dest/extensions/Cite\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticForms-1.9.1\n mwextensions: Rename to .../dest/extensions/SemanticForms\n mwextensions: Extracting package to .../sample-buildout/parts/mwextensions/SemanticMediaWiki-1.5.1\n mwextensions: Rename to .../dest/extensions/SemanticMediaWiki\n ...\n >>> ls(dest, 'plugins')\n d bp-moderation\n d buddypress\n d buddypress-links\n >>> ls(dest, 'extensions')\n d Cite\n d SemanticForms\n d SemanticMediaWiki\n\nExamples for symlink recipe\n===========================\n\npreparing the packages.\n\n >>> target = tmpdir('target')\n >>> mkdir(target, 'dirone')\n >>> mkdir(target, 'dirtwo')\n >>> write(target, 'one.file', \n ... \"\"\"\n ... empty file for testing\n ... \"\"\")\n >>> ls(target)\n d dirone\n d dirtwo\n - one.file\n >>> links = tmpdir('links')\n >>> ls(links)\n\nget ready the buildout config for symlink.\n\n >>> write(sample_buildout, 'buildout.cfg',\n ... \"\"\"\n ... [buildout]\n ... parts = symlinks\n ...\n ... [symlinks]\n ... recipe = leocornus.recipe.wpmw:symlinks\n ... target-folder = %(target)s\n ... link-folder = %(link)s\n ... names = \n ... dirone\n ... dirtwo\n ... one.file\n ... noexit.file\n ... \"\"\" % dict(target=target, link=links))\n\nRun the buildout\n\n >>> print system(buildout)\n Uninstalling mwextensions.\n Uninstalling wpplugins.\n Installing symlinks.\n symlinks: Create symlink to .../links/dirone\n symlinks: Create symlink to .../links/dirtwo\n symlinks: Create symlink to .../links/one.file\n symlinks: Target .../target/noexit.file not exist, ignoring...\n\nVerify the link folder.\n\n >>> ls(links)\n d dirone\n d dirtwo\n l one.file\n\nChange History\n**************\n\n1.3.1 (2016-02-22)\n=================\n\n- fix some errors in test cases.\n- adding travis CI.\n- update document format to rst (re-Structure).\n\n1.3.0 (2012-04-05)\n==================\n\n- Using the ``deploy`` recipe to replace both ``plugins`` and \n ``extensions`` recipes. Both recipes pretty much do the same\n work.\n\n1.2.0 (2012-03-23)\n==================\n\n- Adding the ``action`` option for both ``plugins`` and ``extensions``\n recipes. It has ``symlink`` as the default value and ``copy`` to \n do hardcopy instead.\n\n1.1.1 (2012-03-09)\n==================\n\n- Make sure to create symlinks during buildout updating.\n\n1.1.0 (2012-03-07)\n==================\n\n- Add the part directory to install result, so buildout will remove\n it during uninstalling.\n\n- New symlinks recipe to create symlinks from target folder to link\n folder for all names.\n\n1.0.1 (2012-03-06)\n==================\n\n- Using os.path.lexists instead of os.path.exists to make sure the\n broken symlinks got removed.\n\n1.0.0 (2012-03-05)\n==================\n\n- Initial release\n\nDownload\n***********************", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/leocornus/leocornus.recipe.wpmw", "keywords": "development buildout recipe wordpress mediawiki", "license": "GPLv2", "maintainer": null, "maintainer_email": null, "name": "leocornus.recipe.wpmw", "package_url": "https://pypi.org/project/leocornus.recipe.wpmw/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/leocornus.recipe.wpmw/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/leocornus/leocornus.recipe.wpmw" }, "release_url": "https://pypi.org/project/leocornus.recipe.wpmw/1.3.3/", "requires_dist": null, "requires_python": null, "summary": "zc.buildout recipe for managing WordPress plugins/themes and MediaWiki extensions", "version": "1.3.3" }, "last_serial": 2125626, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e0ae543b27ebf3a2bef26f1258bbbe82", "sha256": "4cb520307557f66e046d256c625124aa66b5a56027dfec814cd0d8ffe5da544b" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e0ae543b27ebf3a2bef26f1258bbbe82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1002045, "upload_time": "2012-03-05T19:26:20", "url": "https://files.pythonhosted.org/packages/2e/41/031c54be1d5efa665d0b7f3d2828fd7142d2680bc91f9e968f9c518fc23f/leocornus.recipe.wpmw-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "8565ad98168164ea0d95aa1887272151", "sha256": "ea51ff38d98c97e4c3aa9e5a2ed79925bcfd3ab29470d7acfe04eebd3960a551" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.0.1.tar.gz", "has_sig": false, "md5_digest": "8565ad98168164ea0d95aa1887272151", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1002663, "upload_time": "2012-03-06T17:14:29", "url": "https://files.pythonhosted.org/packages/16/af/bbea8e158d5b6a9455534d4332a38288d5690df5a917f24f687740002c0b/leocornus.recipe.wpmw-1.0.1.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "85f4b1a52b688932f0bb3859143bd961", "sha256": "ce03fe55af7ebc4e675148f431a10bb3f9bad07ae453ff207bc0405de834a9af" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.1.0.tar.gz", "has_sig": false, "md5_digest": "85f4b1a52b688932f0bb3859143bd961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1003719, "upload_time": "2012-03-07T19:49:33", "url": "https://files.pythonhosted.org/packages/12/cc/14eb02bc5910375d9afc3195fc03ad0a81d9359ba83af7b287524dd79b9c/leocornus.recipe.wpmw-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "4a9824c4d1399b108c0d5c278ac4c99d", "sha256": "16d49390d314e4a7e8515e14da1e66d2fb56c9d70511b8ec76d374b525271609" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.1.1.tar.gz", "has_sig": false, "md5_digest": "4a9824c4d1399b108c0d5c278ac4c99d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1003756, "upload_time": "2012-03-09T18:19:39", "url": "https://files.pythonhosted.org/packages/24/93/d65a0264cdd30f1eeba64415b513e3cea0b4bd46818a13e87993454b238e/leocornus.recipe.wpmw-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "e3228b56cac6ee85e6cbdc64a980394a", "sha256": "d0871e3e7c7131d174b3d506b3b79aa1e1a13c747879605906ec1efd8ea85db4" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.2.0.tar.gz", "has_sig": false, "md5_digest": "e3228b56cac6ee85e6cbdc64a980394a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1004548, "upload_time": "2012-03-23T14:37:21", "url": "https://files.pythonhosted.org/packages/8f/41/405b43ee7f51f689e82ee284ddcc46cd57cd2d16c141675ec4947d03326f/leocornus.recipe.wpmw-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "f2556376396e60900063c4d2da5bf147", "sha256": "847be6c89fd1edbd2f136ecc76485ffc975e0eb63ec3110c4f3e1c6e474f534d" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.3.0.tar.gz", "has_sig": false, "md5_digest": "f2556376396e60900063c4d2da5bf147", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1003935, "upload_time": "2012-04-06T02:20:56", "url": "https://files.pythonhosted.org/packages/c6/29/4656a3b060c37cc1e826b2b701a61ff215581e78783ce8c15db3aeef393b/leocornus.recipe.wpmw-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "c07194394da5632a65c47165992bc621", "sha256": "d818c7a25f65f69edd54195263520d36a93d8de54c75efcf8c5a27ddcc40b18d" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.3.1.tar.gz", "has_sig": false, "md5_digest": "c07194394da5632a65c47165992bc621", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1001786, "upload_time": "2016-02-22T17:57:51", "url": "https://files.pythonhosted.org/packages/55/f9/0dfb5e20b94d12331742d8b037cbe3d7280db0b368d88e8105029ebeb95d/leocornus.recipe.wpmw-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "c21458efc0e8870e9dd5841ae29b1e79", "sha256": "8bc3da5094cfbfd7ca4b50700fa64a4c9dad4ef6cf590764acb9326fd31d4990" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.3.2.tar.gz", "has_sig": false, "md5_digest": "c21458efc0e8870e9dd5841ae29b1e79", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1002199, "upload_time": "2016-05-20T14:49:27", "url": "https://files.pythonhosted.org/packages/d6/13/e23373fed1686de9b314070d32c5123ed6a3d4dc39a3b22497d018b3052d/leocornus.recipe.wpmw-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "5489745d25efa2b40b0aa1e202690f36", "sha256": "d6666c76deb34185510f785d7a80d97ac8a82cd629387fdec094c5862525c97c" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.3.3.tar.gz", "has_sig": false, "md5_digest": "5489745d25efa2b40b0aa1e202690f36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1004610, "upload_time": "2016-05-20T15:20:30", "url": "https://files.pythonhosted.org/packages/35/5c/64412d80c955046f437e8493b15e78e2fe538c35c1e1b3da2ebe52152551/leocornus.recipe.wpmw-1.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5489745d25efa2b40b0aa1e202690f36", "sha256": "d6666c76deb34185510f785d7a80d97ac8a82cd629387fdec094c5862525c97c" }, "downloads": -1, "filename": "leocornus.recipe.wpmw-1.3.3.tar.gz", "has_sig": false, "md5_digest": "5489745d25efa2b40b0aa1e202690f36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1004610, "upload_time": "2016-05-20T15:20:30", "url": "https://files.pythonhosted.org/packages/35/5c/64412d80c955046f437e8493b15e78e2fe538c35c1e1b3da2ebe52152551/leocornus.recipe.wpmw-1.3.3.tar.gz" } ] }