{ "info": { "author": "Maik Jabolnski, Michael Dunlap and the Plone collective", "author_email": "dunlapm@u.washington.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.1", "Framework :: Plone :: 5.2", "Framework :: Plone :: Addon", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://travis-ci.org/collective/Products.PloneKeywordManager.png?branch=master\n :alt: Travis CI badge\n :target: https://travis-ci.org/collective/Products.PloneKeywordManager\n\n.. image:: https://coveralls.io/repos/collective/Products.PloneKeywordManager/badge.png?branch=master\n :alt: Coveralls badge\n :target: https://coveralls.io/r/collective/Products.PloneKeywordManager\n\n.. image:: https://pypip.in/d/Products.PloneKeywordManager/badge.png\n :target: https://pypi.python.org/pypi/Products.PloneKeywordManager/\n :alt: Downloads\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style: black\n\n\nPlone Keyword Manager\n=====================\n\nPlone Keyword Manager allows you to change, merge and delete keywords (aka tags or subjects) in Plone and updates all corresponding objects automatically.\nIt uses a similiarity search to support you in identifying similar keywords.\nPloneKeywordManager helps you to build an inductive vocabulary with several people working on the same Plone site.\nKeywords can be cleaned up from time to time by a site-manager to create a consistent vocabulary.\n\nPlone Keyword Manager is a quite simple solution to a major problem in the real world use of Plone:\nIf you can't work with restricted vocabularies, your keyword-vocabulary will get duplicate entries very quickly - depending on your authors' interpretation of existing keywords.\n\n\nInstallation\n============\n\nIn your buildout add ``Products.PloneKeywordManager`` to your instances eggs section or policy packages ``setup.py``.\nIf you want similiarity search add ``Products.PloneKeywordManager`[Levenshtein]`` instead.\n\nRun buildout.\nActivate it at Site Setups Add Ons page.\n\n\nUsage\n=====\n\nAfter installing, you will find an entry in Site Setup a section called Keyword Manager.\nInside, you will see an alphabetical listing and a selection for all keywords existing in your site.\n\nUse the last one to see similar terms for a single keyword.\nUse the former one if you want to see a list of all keywords starting with letter 'b', click it.\nThe Plone Keyword Manager will then search all keywords starting with 'b' and will also look for similar keywords.\nYou can now select several keywords and delete them for example.\nIf you only want to change a single keyword, select it, then enter the new keyword and click on merge.\nIf you want to merge several keywords into one new one, select them, enter the new keyword and click on merge.\n\nThe last selected keyword is entered automatically into the textbox if JavaScript is enabled.\nThis may be irritating at first glance, but you'll learn to appreciate quite fast.\nIf you use it the right way, you don't have to copy&paste into the textbox.\nTry it yourself, you'll get the idea behind it...\n\n\nFor developers and integrators\n==============================\n\nYou can also use KeywordManager to import your keywords with GenericSetup.\nYou must have access to the file system to do this.\n\n* Add a file ``keywords.txt`` to the directory ``Products/PloneKeywordManager/profiles/default``, with one keyword per line.\n\n* In the ZMI, go to portal_setup, Import tab. Locate the step called ``Create or update keywords``. Check the box next to it, then click the button ``Import Selected Steps``.\n\nThis will add or update a Document titled ``Keywords`` (with ID ``keyword``) in the root of the Plone site;\nthis document will have all the listed keywords assigned to it.\n\nLeave this document in the private state so only an administrator will be able to see and edit it.\n\nEach time you run this import step, the ``Keywords`` document's keywords will be completely replaced with the contents of the ``keywords.txt`` file.\n\n\n\nSource Code\n===========\n\nSource code of this project is in the\n`Plone Collective `_\n\nFor instructions how to contribute please read the `Collective Information Page `_\n\nFurther development focuses on Plone 5.1 and higher.\n\nCredits\n=======\n\nPloneKeywordManager was mainly coded by Maik Jablonski during the Plone Paderborn Sprint (September 2003),\nfounded by the Bertelsmann Foundation.\n\nMain code -- `Maik Jablonski `_\n\nUser Interface updates and Setup Code -- Alexander Limi from Plone Solutions.\n\nThanks to Joe Geldart from `Netalley Networks `_ for updating the template to Plone 2.0 format.\n\nWe would also like to thank Maik for letting us put this code in the `Collective `_ - so it can be improved and expanded by the Collective developers.\n\nChangelog\n=========\n\n3.0.2 (2019-10-07)\n------------------\n\n- Added a toggle to show/hide related keywords. By default every keyword\n will only show once.\n [CorySanin]\n\n\n3.0.1 (2019-10-07)\n------------------\n\n- Filter out empty keywords before sorting.\n Otherwise the control panel is broken for some indexes.\n Fixes `issue #28 `_.\n [maurits]\n\n\n3.0.0 (2019-03-14)\n------------------\n\n- Fix problem with non-visible changes due to a side effect with collective.indexing beeing merged in core.\n [jensens]\n\n- Python 3, Plone 5.2 compatibility.\n Drop support for Plone < 5.1.\n [vangheem, jensens]\n\n\n2.2.1 (2018-07-09)\n------------------\n\n- Add translation to Brazilian Portuguese.\n [hvelarde]\n\n- Fix searchlink button to respect the selected index field in the query\n and quote the value for the search parameter\n [petschki]\n\n\n2.2.0 (2016-03-07)\n------------------\n\n- accessibility improvements\n [daniele-andreotti]\n\n- add compatibility with Plone 5\n [cewing]\n\n- Drop support for Python 2.6.\n [hvelarde]\n\n\n2.1.1 (2014-09-15)\n------------------\n\n- Don't break when searching encoded indexes. [davisagli]\n\n- Fix ``getSetter`` method in tool.py to handle also discussion items. [cekk]\n\n2.1 (2014-04-27)\n----------------\n\n- Enable search for values (search icon behind value). [jensens]\n\n- Decode values so they work with Dexterity. [davisagli]\n\n- Handle sets as field values. [davisagli]\n\n- Update Dexterity content even if it has no explicit setter. [davisagli]\n\n- Works when the field related to KeywordIndex is monovalued [thomasdesvenain]\n\n- UI and labels improvements [thomasdesvenain]\n\t- selected values are kept after form submission\n\t- change in selection lists automatically submit the form\n\t- keywords are clickable labels\n\t- added some helpers and tooltips, and improved labels\n\n- check for plone.app.multilingual and Products.LinguaPlone [pbauer]\n\n- Fixed getSetter and getListFieldValues method in tool to handle also\n non-default field names [cekk]\n\n- Removed skins and moved control panel to a browser view [cekk]\n\n- Added custom permission to access the view [cekk]\n\n- Fixed uninstall profile [cekk]\n\n- Moved translations from i18n to locales [cekk]\n\n2.0 (2013-04-24)\n----------------\n\n- take plone.app.multilingual into acount and set Language=all on change.\n [jensens]\n\n- Use png icon as gif icon has been removed.\n [thomasdesvenain]\n\n- Fix index update on keyword delete not to reindex all attributes. [leorochael]\n\n- Add support for dexterity (and generic DublinCoreImpl subclasses). [leorochael]\n\n- Tests use now plone.app.testing; test coverage improved. [hvelarde]\n\n- Fix package distribution. [hvelarde]\n\n- Do not create a `keywords` Document in the plone-site in case the ``keywords.txt``\n file is empty. (useful for sites not having Document globally allowed)\n [fRiSi]\n\n- Allow `Site Administrators` too access the keyword managment\n [fRiSi]\n\n- Make installation possible for dexterity-based Documents [pysailor]\n\n1.9 (2011-06-22)\n----------------\n\n- Fixed critical error at index update.\n [thomasdesvenain]\n\n- Upgrade imports for Zope 2.13. Remove deprecation warnings.\n [toutpt]\n\n1.8 (2011-04-08)\n----------------\n\n- Add tests related to skins-directories. [WouterVH]\n\n- remove old-style Install.py. [WouterVH]\n\n- Add uninstall-profile. [WouterVH]\n\n- Fix marker-file for setuphandlers.py. [WouterVH]\n\n- Add MANIFEST.in to include docs in release. [WouterVH]\n\n- Upgrade imports for Zope 2.13. Remove deprecation warnings.\n [thomasdesvenain]\n\n- Manage python-Levenshtein dependency as a setuptools extras_require.\n [thomasdesvenain]\n\n- French translation.\n [thomasdesvenain]\n\n- Internationalization fixes.\n [thomasdesvenain]\n\n- Added the z3c.autoinclude entry point so this package is automatically loaded\n on Plone 3.3 and above. [WouterVH]\n\n- Remove the old-style refresh.txt and version.txt. Version is now specified in\n setup.py [WouterVH]\n\n- Cleanup install-instructions. [WouterVH]\n\n\n1.7 (20/08/2010)\n----------------\n\n- Added ability to mix unicode and non-unicode keywords and changes.\n Fixes a bug with collective.dancing (and plone.z3cform) upgrading\n form inputs to unicode automagically.\n [dunlapm]\n\n- Restify the CHANGES.txt file.\n [toutpt]\n\n- Add keywords import through genericsetup.\n [toutpt]\n\n- Add a default profile based on Extensions/Install.py.\n [toutpt]\n\n- remove zope2 interface.\n [toutpt]\n\n\n1.6 (19/03/2009)\n----------------\n\n- Fixed handling of non-ASCII Keywords in Controller Python Scripts\n prefs_keywords_action_change.cpy and prefs_keywords_action_delete.cpy [disko]\n\n- Added tests for the above mentioned bugfixes. [disko]\n\n- Added German translation. [disko]\n\n\n1.6b2 (15-11-2008)\n------------------\n\n- No longer assumes that the index name is the same as the name of the\n underlying schema field. [jessesnyder]\n\n\n1.6b1 (09-09-2008)\n------------------\n\n- Eggification from PloneKeywordManager into Products.PloneKeywordManager. This\n package is only supported for Plone 3 now. It may or may not work in Plone 2.5. [dunlapm]\n\n- Added support for multiple keyword indexes. If you have more than one keyword\n field on your content type(s) then you will still be able to manage all of your\n keywords. If you only use the single default field then you will get the normal\n interface.\n\n\n1.5-alpha1 (28-11-2007)\n-----------------------\n\n- Plone 2.5 and Plone 3 compatibility for product PloneKeywordManager. [glenfant]\n\n\n0.4 (unknown)\n-------------\n\n- Added Brazilian Portuguese i18n support.\n [Rafahela Bazzanella ]\n\n\n0.3 (05-04-2005)\n-----------------\n\n- Refactored code to run from a portal tool.\n\n- Minor clean ups.\n\n- Introduced the permission \"Manage Keywords\" to have better control about who\n can manage keywords.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/Products.PloneKeywordManager", "keywords": "plone,manage keywords subjects create merge delete", "license": "GNU General Public License v2 (GPLv2)", "maintainer": "", "maintainer_email": "", "name": "Products.PloneKeywordManager", "package_url": "https://pypi.org/project/Products.PloneKeywordManager/", "platform": "", "project_url": "https://pypi.org/project/Products.PloneKeywordManager/", "project_urls": { "Homepage": "https://github.com/collective/Products.PloneKeywordManager" }, "release_url": "https://pypi.org/project/Products.PloneKeywordManager/3.0.2/", "requires_dist": [ "plone.api", "setuptools", "pdbpp ; extra == 'dev'", "python-Levenshtein ; extra == 'levenshtein'", "plone.app.testing ; extra == 'test'", "plone.app.contenttypes[test] ; extra == 'test'" ], "requires_python": "", "summary": "Change, merge and delete keywords (subjects) in Plone.", "version": "3.0.2" }, "last_serial": 5938389, "releases": { "1.6": [ { "comment_text": "", "digests": { "md5": "c3b760440dd7e9b9fb91edff7a858be4", "sha256": "64d8a4d7aeaba8d3b1b7c5e5c5b891bba42c8dee497239e8400dea5b92194ec8" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.6.zip", "has_sig": false, "md5_digest": "c3b760440dd7e9b9fb91edff7a858be4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98043, "upload_time": "2009-03-19T17:33:13", "url": "https://files.pythonhosted.org/packages/47/db/45f791183c2c2ef072c1cd9db3d846611642fc9858734ad419d1a2a97196/Products.PloneKeywordManager-1.6.zip" } ], "1.6b1": [ { "comment_text": "", "digests": { "md5": "559d5f6568aa5e95beba692d4ab5c469", "sha256": "25a7625dd499c8ce8ffb31236a38edcd1673866e791da78bd4c151a83cc2ff13" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.6b1-py2.4.egg", "has_sig": false, "md5_digest": "559d5f6568aa5e95beba692d4ab5c469", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 81409, "upload_time": "2008-09-08T22:36:34", "url": "https://files.pythonhosted.org/packages/50/2b/cf97a1f5fecd249f7ba4f13f0b7dc81527252584044cffdd86a15b0975da/Products.PloneKeywordManager-1.6b1-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "510438860e7e623aa4d68bb66542a421", "sha256": "db3636d5adf071d98d5c382e7a8e30ef6d4226c46440fa837d4a5594db9bb7fb" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.6b1.tar.gz", "has_sig": false, "md5_digest": "510438860e7e623aa4d68bb66542a421", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62487, "upload_time": "2008-09-08T22:36:33", "url": "https://files.pythonhosted.org/packages/93/6f/09febd6b6e34a316592dcf50ae0998228443c957232fdf642676f2823f0e/Products.PloneKeywordManager-1.6b1.tar.gz" } ], "1.6b2": [ { "comment_text": "", "digests": { "md5": "1c13c77b77213ad7073a7133640ba5b9", "sha256": "95cd146820701dd0a0aa67f76e5100f27917aaf8b354c7a3f0f11f98167beabc" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.6b2-py2.4.egg", "has_sig": false, "md5_digest": "1c13c77b77213ad7073a7133640ba5b9", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 91480, "upload_time": "2008-11-14T23:31:21", "url": "https://files.pythonhosted.org/packages/e5/5a/d36eca9d3d5b578e8f58509344284169fa9896bd0913ea869e5486f7e4d2/Products.PloneKeywordManager-1.6b2-py2.4.egg" }, { "comment_text": "", "digests": { "md5": "854f5efee059973d8e323296e81cf64f", "sha256": "f206b433424f795a8cab5a2ec968000769325a87a00d496984d0fac095cfb5dd" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.6b2.tar.gz", "has_sig": false, "md5_digest": "854f5efee059973d8e323296e81cf64f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68212, "upload_time": "2008-11-14T23:29:15", "url": "https://files.pythonhosted.org/packages/0c/ea/53ee1dd65827c7c0db9acb10e8965cb4880f7434c19e1bed5bb073df3c46/Products.PloneKeywordManager-1.6b2.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "a72d4af5642e36ce539f710294c7b82d", "sha256": "4ed26418fff4d1b6a06eddd1af7c719050cf47e29d6510886449cbe1f64463c4" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.7.zip", "has_sig": false, "md5_digest": "a72d4af5642e36ce539f710294c7b82d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 97800, "upload_time": "2010-08-20T09:09:54", "url": "https://files.pythonhosted.org/packages/92/f9/12b0e118556232df34a36fc91898bdde8525c746922c3e0167dfe69ce451/Products.PloneKeywordManager-1.7.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "a7a97e8dd0846a19e3cb00c01e4902b5", "sha256": "22d7aec54169c5842d5f81df14cf01248d4b37636d0df34f722d96a70d9cc277" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.8.zip", "has_sig": false, "md5_digest": "a7a97e8dd0846a19e3cb00c01e4902b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51624, "upload_time": "2011-04-08T09:52:02", "url": "https://files.pythonhosted.org/packages/74/1b/d5d720db05cad8b074e2544d89f42281119c903f08b64c3ba0a4d9ac08d4/Products.PloneKeywordManager-1.8.zip" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "3a98964a76bab730ac9032dbb0f5c133", "sha256": "bd713d2059a908920a082ad00ec01ec4a2c3159febae2f598a8ac06eff6f9163" }, "downloads": -1, "filename": "Products.PloneKeywordManager-1.9.zip", "has_sig": false, "md5_digest": "3a98964a76bab730ac9032dbb0f5c133", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51738, "upload_time": "2011-06-22T14:11:03", "url": "https://files.pythonhosted.org/packages/a9/43/c4a8f22c72483418274c363197da0aba72a4250a586b7ab8ff5223e1b5d0/Products.PloneKeywordManager-1.9.zip" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "5a58edac2c38825e8f2fc81be92ddc5d", "sha256": "a30c0c12d00dfd3ac6ac58bec10afd6168f4d18ad5b50cef5d4f42394ddf38f0" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.0.zip", "has_sig": false, "md5_digest": "5a58edac2c38825e8f2fc81be92ddc5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 54895, "upload_time": "2013-04-24T11:15:42", "url": "https://files.pythonhosted.org/packages/55/64/de02d2308c965f849d312409440488afbe9cb80f241c6d8ae70aef5253a9/Products.PloneKeywordManager-2.0.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "0f4270b46c78554f4d4bb134e1ce3bb2", "sha256": "f20a476c36e7110915d6045992a84d9b7466acb7aea7ef912cf69d9f7b00da35" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.1.tar.gz", "has_sig": false, "md5_digest": "0f4270b46c78554f4d4bb134e1ce3bb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30718, "upload_time": "2014-04-27T10:25:44", "url": "https://files.pythonhosted.org/packages/87/e0/9c25644e96731544c39d488cc93a8bf5ffec95f621993068d670dae6c015/Products.PloneKeywordManager-2.1.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "6fa3cdee9683ddbf173f82cd6080e3c4", "sha256": "b355e6a3978297a0d4d7da96d8dde91b37afe64fde56428001b50558fece67b1" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.1.1.zip", "has_sig": false, "md5_digest": "6fa3cdee9683ddbf173f82cd6080e3c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 62503, "upload_time": "2014-09-15T15:37:49", "url": "https://files.pythonhosted.org/packages/a6/24/7ce3ecf91c984f4096f970ec0e3c11722321347b5412e79e484e033f5e27/Products.PloneKeywordManager-2.1.1.zip" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "c26bc5091a0cefbb0f637593de073c0e", "sha256": "e70b6991c28f105b9727721d46a1260a75cab91144db7287155b3d1c4e2333c2" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.2.0.tar.gz", "has_sig": false, "md5_digest": "c26bc5091a0cefbb0f637593de073c0e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32825, "upload_time": "2016-03-07T15:42:19", "url": "https://files.pythonhosted.org/packages/13/ed/39a12892805539ae1fef803f445c1e75d6c3bde98965cdfb3d3dfccca46e/Products.PloneKeywordManager-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "a87227b6bebe9df830cd8103150180a8", "sha256": "326c91229df5fc1ccb803b5cb9fece61f0368ac7acfca2c696ea9a9fcef29d40" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.2.1.tar.gz", "has_sig": false, "md5_digest": "a87227b6bebe9df830cd8103150180a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33777, "upload_time": "2018-07-09T14:03:51", "url": "https://files.pythonhosted.org/packages/68/fd/b73b6f5cc2b7043719897e80ab8f3370307de7b5d692abfda55c18127ac6/Products.PloneKeywordManager-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "9cc006073926f9f0b48f8529854dd9a0", "sha256": "9f7327ca4270cbf312dd4cfe114f4052ace017a2959460dccb4f8ca31f321e79" }, "downloads": -1, "filename": "Products.PloneKeywordManager-2.2.2.tar.gz", "has_sig": false, "md5_digest": "9cc006073926f9f0b48f8529854dd9a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38174, "upload_time": "2019-10-07T12:18:14", "url": "https://files.pythonhosted.org/packages/aa/56/9b80891f0fb71e0a478559d173748b907d0ed6654b2fd3a1c910ffa94f79/Products.PloneKeywordManager-2.2.2.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "b61fe7e196410030f4fb7e2770baff96", "sha256": "0e82750f42e6d59e35e50da56c06cd13bffb4bd31f2da6e8df904732fa7e808b" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b61fe7e196410030f4fb7e2770baff96", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44456, "upload_time": "2019-03-14T15:41:12", "url": "https://files.pythonhosted.org/packages/ef/f2/1c724a031d92a56eed4aeff71c193b41b8be291bbabb459940c2f5f031a0/Products.PloneKeywordManager-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cd02afb83186cf2a037733acd82f07e", "sha256": "34f17a63cef6e449945acd743aab3aae9e36e571e27967686c16e08623bcaec5" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.0.tar.gz", "has_sig": false, "md5_digest": "5cd02afb83186cf2a037733acd82f07e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36314, "upload_time": "2019-03-14T15:41:14", "url": "https://files.pythonhosted.org/packages/8b/46/b0feca68d43514326c9a1779ffeede6ec6356e96ed80fd6540b2015c0c47/Products.PloneKeywordManager-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "bd8fbcd4cfb3284ac94a3a4f3fff10ed", "sha256": "56c510e4559791eb15b9f8a22d946747ea68e85d8eaa9f5ffcfadfe111993016" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "bd8fbcd4cfb3284ac94a3a4f3fff10ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44582, "upload_time": "2019-10-07T07:37:43", "url": "https://files.pythonhosted.org/packages/fd/cc/6c26ecea96b61c6ed25a5bd89a303c31b5f2a31939e0dcd55d7e259e21b8/Products.PloneKeywordManager-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9c4f4b9ab9f3a23fb6e2afb6cb087dbf", "sha256": "452fcdf9db3402a8ca3d97b479540af987baae2ef29f4bc97f678875c87ffc93" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.1.tar.gz", "has_sig": false, "md5_digest": "9c4f4b9ab9f3a23fb6e2afb6cb087dbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36559, "upload_time": "2019-10-07T07:37:46", "url": "https://files.pythonhosted.org/packages/af/69/89368fb3d3f118d6b241020072a4def0c613dfb8164288fc10f806bc7b32/Products.PloneKeywordManager-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "afc177bb2d563269ff2d00af808f94fd", "sha256": "4613aa0bc03f11d10621d59b9944ca397e100583b07baf3d0312e551a37b2d32" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "afc177bb2d563269ff2d00af808f94fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44804, "upload_time": "2019-10-07T08:14:27", "url": "https://files.pythonhosted.org/packages/51/22/a740c0a96685af545b979af378e378ff032a909b7289a2d956790b07ee0a/Products.PloneKeywordManager-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fca20c80deca3c15c50abfa9b0c67839", "sha256": "603d1a90d06ac511b891030980785a913de72324268c0168f302f8d225ebe668" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.2.tar.gz", "has_sig": false, "md5_digest": "fca20c80deca3c15c50abfa9b0c67839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36848, "upload_time": "2019-10-07T08:14:29", "url": "https://files.pythonhosted.org/packages/12/61/c3755610e62583880814fb5c339b458a21472073c5d68442899251566103/Products.PloneKeywordManager-3.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "afc177bb2d563269ff2d00af808f94fd", "sha256": "4613aa0bc03f11d10621d59b9944ca397e100583b07baf3d0312e551a37b2d32" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "afc177bb2d563269ff2d00af808f94fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 44804, "upload_time": "2019-10-07T08:14:27", "url": "https://files.pythonhosted.org/packages/51/22/a740c0a96685af545b979af378e378ff032a909b7289a2d956790b07ee0a/Products.PloneKeywordManager-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fca20c80deca3c15c50abfa9b0c67839", "sha256": "603d1a90d06ac511b891030980785a913de72324268c0168f302f8d225ebe668" }, "downloads": -1, "filename": "Products.PloneKeywordManager-3.0.2.tar.gz", "has_sig": false, "md5_digest": "fca20c80deca3c15c50abfa9b0c67839", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36848, "upload_time": "2019-10-07T08:14:29", "url": "https://files.pythonhosted.org/packages/12/61/c3755610e62583880814fb5c339b458a21472073c5d68442899251566103/Products.PloneKeywordManager-3.0.2.tar.gz" } ] }