{ "info": { "author": "Thomas Khyn", "author_email": "thomas@ksytek.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Other Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries", "Topic :: Utilities" ], "description": "django-mcmo\n===========\n\n|copyright| 2014-2017 Thomas Khyn\n\nMCMO stands for 'Management Command Multiple Override'. This django app allows\nmultiple apps to override the same management command without evicting any.\n\nSupports Django 1.8 to 1.11 and matching Python 2 and 3 versions.\n\nInstallation\n------------\n\nAs straightforward as it can be, using pip::\n\n pip install django-mcmo\n\nUsage\n-----\n\nIn your ``manage.py`` file, replace the line::\n\n from django.core import management\n\nby::\n\n from mcmo import management\n\nYou can now use applications that concurrently define overrides for\n``django.core management`` commands. Both commands will be called.\n\nFor example, if you are using djinga_ and django-extra_keywords_, which\nboth override Django's ``makemessages`` management command, both commands from\nboth applications will be called subsequently.\n\nThe first command which will be called will be the one relative to the\napplication in the latest position in the ``INSTALLED_APPS``.\n\n\nAlternative usage\n-----------------\n\nIn your manage.py is automatically generated (e.g. if you are using\nbuildout_ with djangorecipebook_ or djangorecipe_), simply make sure\nthat the statement::\n\n import mcmo\n\nis executed before calling ``django.management.execute_from_command_line``.\n\nImporting the package patches the ``django.core.management`` module, which\nfunctions are then enabled for multiple-override support.\n\n\nLimitations\n-----------\n\nThe same-name overrides should all derive from the same command class, or at\nleast from on of Django's base command classes (``AppCommand`` or\n``LabelCommand``).\n\n``django-mcmo`` will raise a warning (but the execution will carry on) in case\nof subclassing inconsistencies. For example, if the command ``cmd`` in ``app1``\ninherits from ``AppCommand`` and the command ``cmd`` in ``app2`` inherits from\n``LabelCommand``. Indeed, as only one command is likely to be executed in that\nsituation, the obtained results may not be consistent as it will depend on the\nrelative position of the apps in ``INSTALLED_APPS`` or raise an exception\nregarding arguments presence, absence or type.\n\nIn practice, same-name commands will only be met when two 3rd party apps\noverride a Django core management command. They will therefore derive from the\nsame Command base class, and cause no issue in 99.9% of the cases.\n\n``django-mcmo`` may also emit warning messages if the same option is\nexplicitly added in the same command of two distinct apps with command classes\nnot being subclasses of each other.\n\n\n.. |copyright| unicode:: 0xA9\n.. _djinga: https://pypi.python.org/pypi/djinga/\n.. _django-extra_keywords: https://pypi.python.org/pypi/django-extra_keywords/\n.. _buildout: https://pypi.python.org/pypi/zc.buildout/\n.. _djangorecipebook: https://pypi.python.org/pypi/djangorecipebook/\n.. _djangorecipe: https://pypi.python.org/pypi/djangorecipe/\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/tkhyn/django-mcmo", "keywords": "django", "license": "", "maintainer": "", "maintainer_email": "", "name": "django-mcmo", "package_url": "https://pypi.org/project/django-mcmo/", "platform": "", "project_url": "https://pypi.org/project/django-mcmo/", "project_urls": { "Homepage": "https://bitbucket.org/tkhyn/django-mcmo" }, "release_url": "https://pypi.org/project/django-mcmo/3.0/", "requires_dist": null, "requires_python": "", "summary": "Allows multiple apps to override the same management command in Django", "version": "3.0" }, "last_serial": 2888882, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "b8b9c36d9eb1c41bd19b4f33c39a9bde", "sha256": "26ce721d800eebc1b9a164c31c73b50dad2111c67cdaa972c92ef5d24a744aa1" }, "downloads": -1, "filename": "django_mcmo-1.0-py2.7.egg", "has_sig": false, "md5_digest": "b8b9c36d9eb1c41bd19b4f33c39a9bde", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 6730, "upload_time": "2014-07-20T10:04:25", "url": "https://files.pythonhosted.org/packages/4a/ef/0b585ffffdc2c3127a1201cfe219a017ec56d38678f51d88e8b21a041c96/django_mcmo-1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "648a4e6586c8fce82f5b5455b442e30f", "sha256": "9310e14f92cbedc2eca96edf5b443eb8fa3a4546baf364e0c4e5097ed5c48efe" }, "downloads": -1, "filename": "django-mcmo-1.0.zip", "has_sig": false, "md5_digest": "648a4e6586c8fce82f5b5455b442e30f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8394, "upload_time": "2014-07-20T10:04:12", "url": "https://files.pythonhosted.org/packages/05/df/6c3ca28bf08a2ac6ee0da568e2c2626d9ff3a8e55baea41bcc3b0136673e/django-mcmo-1.0.zip" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "3ece00f4dd8af7cd1b5b24a8cc7fe547", "sha256": "1b3c1ae3604fcf675a5ff1024e2524b1751d9973f7c979981724cf18ab85e2af" }, "downloads": -1, "filename": "django-mcmo-2.0.zip", "has_sig": false, "md5_digest": "3ece00f4dd8af7cd1b5b24a8cc7fe547", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18827, "upload_time": "2014-08-13T05:19:19", "url": "https://files.pythonhosted.org/packages/c3/98/078ebf9f2d1a2ae38f8288a0f24e8bc395ab7d0014f7f866356e2bc6258d/django-mcmo-2.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "349412b2d1c9118989569b8f4eee8adb", "sha256": "f35c57c9e90b6fbb840742dd934e120db0fda1d56c537180793282303de73dca" }, "downloads": -1, "filename": "django-mcmo-2.0.1.zip", "has_sig": false, "md5_digest": "349412b2d1c9118989569b8f4eee8adb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11076, "upload_time": "2014-10-13T02:32:43", "url": "https://files.pythonhosted.org/packages/1a/6e/cf884d949cef27fdac3efd9558587edc8f5e653263842a6a00c4ab135659/django-mcmo-2.0.1.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "73c0b37ca28369ef62f63aa87bb4e360", "sha256": "b1d1a63987cf08e66477d4b245d59549eeaf6478f6dcf64438c99911f7ac0af9" }, "downloads": -1, "filename": "django-mcmo-2.1.zip", "has_sig": false, "md5_digest": "73c0b37ca28369ef62f63aa87bb4e360", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11214, "upload_time": "2014-10-13T11:00:05", "url": "https://files.pythonhosted.org/packages/c5/73/ea7006ea4e3228a889b39dfcb5c074a6916350dfd93143e5dfbcb6ea6b8a/django-mcmo-2.1.zip" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "ac1d6891af4eea230d323e885eb147c5", "sha256": "131d96d03c185e4ce8605d8ce565380209a1427e3a1bcc2d24bc6f1c0d138bdc" }, "downloads": -1, "filename": "django-mcmo-2.1.1.zip", "has_sig": false, "md5_digest": "ac1d6891af4eea230d323e885eb147c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11357, "upload_time": "2014-11-20T00:45:35", "url": "https://files.pythonhosted.org/packages/59/3a/b33fba98ba81422492e4ec99a3135cff37fa94283e3d9867f40ecb375ec7/django-mcmo-2.1.1.zip" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "f68264e3089baec4a838b270db09f8a5", "sha256": "c8bd65e4aafe4175994fd0e614297f963650f3e59aa037472483213989cdd8d2" }, "downloads": -1, "filename": "django-mcmo-2.1.2.zip", "has_sig": false, "md5_digest": "f68264e3089baec4a838b270db09f8a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11402, "upload_time": "2015-04-15T13:20:27", "url": "https://files.pythonhosted.org/packages/4e/18/e881c02e3ff5a1be1b204de6c0a81869b7c2ac84495a8df1c7c2ba94c786/django-mcmo-2.1.2.zip" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "e3921cf53529d00c7ce5031158e12bf2", "sha256": "9a350a18701d5596fced5e7832a7e504400c85a536b6c2b0ec39ba20bada0e29" }, "downloads": -1, "filename": "django-mcmo-3.0.tar.gz", "has_sig": false, "md5_digest": "e3921cf53529d00c7ce5031158e12bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5809, "upload_time": "2017-05-21T13:51:32", "url": "https://files.pythonhosted.org/packages/17/45/58c6520734703fefa5468473dbd56c610e3c662c859224973b3643b1cfa1/django-mcmo-3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e3921cf53529d00c7ce5031158e12bf2", "sha256": "9a350a18701d5596fced5e7832a7e504400c85a536b6c2b0ec39ba20bada0e29" }, "downloads": -1, "filename": "django-mcmo-3.0.tar.gz", "has_sig": false, "md5_digest": "e3921cf53529d00c7ce5031158e12bf2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5809, "upload_time": "2017-05-21T13:51:32", "url": "https://files.pythonhosted.org/packages/17/45/58c6520734703fefa5468473dbd56c610e3c662c859224973b3643b1cfa1/django-mcmo-3.0.tar.gz" } ] }