{ "info": { "author": "Plone Foundation", "author_email": "plone-developers@lists.sourceforge.net", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 5.0", "Framework :: Plone :: 5.1", "Framework :: Plone :: 5.2", "Framework :: Zope2", "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" ], "description": "Introduction\n============\nProvides ${id} style string interpolation using named adapters to look up\nvariables. This is meant to provide a trivially simple template system\nfor clients like plone.app.contentrules.\n\nTo interpolate a string in context, just follow the pattern::\n\n from plone.stringinterp.interfaces import IStringInterpolator\n\n IStringInterpolator(context)(\"Here is the title: ${title}\")\n\nSubstitution of variables that are part of the Dublin Core are\nprovided with the package. To provide additional substitutions, just\nprovide a named adapter implementing interfaces.IStringSubstitution\nfor your context. The adapter name is used for the lookup.\n\nYou can also wrap your context with IContextWrapper adapter if you need to pass\ncustom messages within your substitutions.\n\nDependencies\n============\nDependencies are all in the CMF* namespace, so this is theoretically useful\noutside Plone. It does use the 'plone' identifier for the message factory.\n\nImplemented Substitutions\n=========================\n\nAll Content\n-----------\n- id\n- parent_id\n- url\n- parent_url\n\n\nMinimal Dublin Core\n-------------------\n- title\n- description\n- type (content type)\n\nWorkflow Aware\n--------------\n- review_state\n- review_state_title\n\nDublin Core\n-----------\n- creator\n- creator_fullname\n- creator_email\n- creators\n- creators_emails\n- contributors\n- contributors_emails\n- subject\n- format (mime type)\n- language\n- rights\n- identifier\n\nCatalogable Dublin Core\n-----------------------\nEverything should be in long local time format\n\n- created\n- effective\n- expires\n- modified\n\nMember / Group Information for roles on content\n-----------------------------------------------\n- owner_emails\n- reviewer_emails\n- manager_emails\n- member_emails\n- user_email\n\nCurrent User Information\n------------------------\n- user_fullname\n- user_id\n\nLast Change (workflow or version) Information\n---------------------------------------------\n- change_comment\n- change_title\n- change_type\n- change_authorid\n\nChangelog\n=========\n\n1.3.1 (2018-11-04)\n------------------\n\nBug fixes:\n\n- The ``Format`` accessor should actually return the ``format`` attribute\n (see plone/Products.CMFPlone#2540)\n [ale-rt]\n\n\n1.3.0 (2018-09-28)\n------------------\n\nNew features:\n\n- Add support for Python 3.\n [pbauer]\n\n\n1.2.1 (2016-11-18)\n------------------\n\nNew features:\n\n- Removed ZopeTestCase. [maurits]\n\n\n1.2 (2016-09-20)\n----------------\n\nNew features:\n\n- Provide a ContextWrapper adapter in order to easily pass custom messages\n to StringInterpoator\n [avoinea]\n\n\n1.1.4 (2016-08-18)\n------------------\n\nBug fixes:\n\n- Use zope.interface decorator.\n [gforcada]\n\n\n1.1.3 (2016-05-25)\n------------------\n\nFixes:\n\n- Adapt to changes in SimpleViewClass in zope4.\n [pbauer]\n\n- Fix typo\n [staeff]\n\n1.1.2 (2015-03-13)\n------------------\n\nFixes:\n\n- Fixed \"RuntimeError: maximum recursion depth exceeded\" in\n recursiveGetGroupUsers when you have a group A containing group B containing\n group A.\n [vincentfretin]\n\n\n1.1.1 (2014-11-01)\n------------------\n\n- Add creator, creator_fullname, creator_email,\n creators_emails and contributors_emails\n [avoinea]\n\n\n1.1 (2014-02-25)\n----------------\n\n- Add portal_url and portal_title.\n [thomasdesvenain]\n\n- Add parent_id.\n [maartenkling]\n\n- Convert tests to plone.app.testing for Plone 5.\n [davisagli]\n\n\n1.0.10 (2013-05-30)\n-------------------\n\n- Added review_state_title substitution variable.\n [ichim-david]\n\n\n1.0.9 (2013-05-26)\n------------------\n\n- Added id substitution variable\n that works with content events and user events.\n [thomasdesvenain]\n\n- Email substitutions are not restricted to contentish anymore,\n so we can use them with user events.\n [thomasdesvenain]\n\n\n1.0.8 (2013-05-23)\n------------------\n\n- Added editor_emails substitution variable.\n [thomasdesvenain]\n\n\n1.0.7 (2012-08-11)\n------------------\n\n- Added parent_title substitution, which gets the title of the container.\n [thomasdesvenain]\n\n- Fixed user_fullname substitution : display user id if fullname is not set.\n [thomasdesvenain]\n\n- Do not restrict string interpolation to IContentish if not necessary.\n Fixes email content rule related with plone.app.discussion comments.\n Refs https://dev.plone.org/ticket/13047\n [thomasdesvenain]\n\n\n1.0.6 (2012-08-04)\n------------------\n\n- Added parent_url substitution (the url of the object parent).\n [thomasdesvenain]\n\n\n1.0.5 (2012-01-26)\n------------------\n\n- Recursive get members works in a non wrapped context\n (when getting PloneGroups instead of GroupData from GroupTool)\n [thomasdesvenain]\n\n- Add MANIFEST.in\n [WouterVH]\n\n\n1.0.4 - 2011-04-01\n------------------\n\n- Added contributor_emails and reader_emails substitution variables.\n [thomasdesvenain]\n\n\n1.0.3 - 2010-11-11\n------------------\n\n- Fix a bug with member email substitutions when a user has been\n removed from acl_users.\n [rossp]\n\n\n1.0.2 - 2010-09-20\n------------------\n\n- Role email substitution works with user that have role through a group.\n [thomasdesvenain]\n\n\n1.0.1 - 2010-09-15\n------------------\n\n- Internationalized ${type} substitution.\n [thomasdesvenain]\n\n- Fixed: get emails for role works with local roles.\n [thomasdesvenain]\n\n\n1.0 - 2010-07-18\n----------------\n\n- Update license to GPL version 2 only.\n [hannosch]\n\n\n1.0b1 - 2009-11-12\n------------------\n\n- Initial release.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://pypi.org/project/plone.stringinterp", "keywords": "Plone Zope Interpolation", "license": "GPL version 2", "maintainer": "", "maintainer_email": "", "name": "plone.stringinterp", "package_url": "https://pypi.org/project/plone.stringinterp/", "platform": "", "project_url": "https://pypi.org/project/plone.stringinterp/", "project_urls": { "Homepage": "https://pypi.org/project/plone.stringinterp" }, "release_url": "https://pypi.org/project/plone.stringinterp/1.3.1/", "requires_dist": [ "setuptools", "Products.CMFCore", "zope.i18n", "plone.memoize", "plone.app.contenttypes; extra == 'test'", "plone.app.testing; extra == 'test'", "plone.testing; extra == 'test'" ], "requires_python": "", "summary": "Adaptable string interpolation", "version": "1.3.1" }, "last_serial": 4448844, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "b3baede4b290e099c77f6a6f4d1e39f8", "sha256": "07ae26b6b6b1563ab61567177bc7f18950b091116233ceca6b706b8abccc1c4d" }, "downloads": -1, "filename": "plone.stringinterp-1.0.zip", "has_sig": false, "md5_digest": "b3baede4b290e099c77f6a6f4d1e39f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24023, "upload_time": "2010-07-18T17:11:44", "url": "https://files.pythonhosted.org/packages/6b/53/5ecfbb44808d66fa4eb9eb35c68f7798c1dc97dac75bdb81e14a95952a10/plone.stringinterp-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "d76b6bd1d1751c571beec32c2356fc10", "sha256": "058a803ee9b881934ad8d6b89f4cd59e2f444fb60999946db045815cdc79be45" }, "downloads": -1, "filename": "plone.stringinterp-1.0.1.zip", "has_sig": false, "md5_digest": "d76b6bd1d1751c571beec32c2356fc10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24430, "upload_time": "2010-09-15T17:23:47", "url": "https://files.pythonhosted.org/packages/39/b4/b7917d5b59cec4efebe194b9debd30387443d6e97229d276b01ca3266542/plone.stringinterp-1.0.1.zip" } ], "1.0.10": [ { "comment_text": "", "digests": { "md5": "595074e94944ad6860e2105a020a3b9a", "sha256": "bd44b38ebf04b162c939cb71e9de78982907f22aec973f7b06921b4dd7d7e9d9" }, "downloads": -1, "filename": "plone.stringinterp-1.0.10.zip", "has_sig": false, "md5_digest": "595074e94944ad6860e2105a020a3b9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27655, "upload_time": "2013-05-30T16:52:25", "url": "https://files.pythonhosted.org/packages/f8/34/76e69109e904c7e1bc302f642a0341fc59abbcfcfd9b3a8d12ea546bef6b/plone.stringinterp-1.0.10.zip" } ], "1.0.11": [ { "comment_text": "", "digests": { "md5": "e54dfa87b20a72f9b1465fcee1fd7ecd", "sha256": "416b35315b014a01a3fd842407a6bb28caea0c8cbb8a557109affc7850c8344c" }, "downloads": -1, "filename": "plone.stringinterp-1.0.11.zip", "has_sig": false, "md5_digest": "e54dfa87b20a72f9b1465fcee1fd7ecd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28002, "upload_time": "2013-12-08T03:06:43", "url": "https://files.pythonhosted.org/packages/f1/16/da89dbe78d25a3cf38e4cfe202160a346047c5a3264e49d269ab2ae0d4e9/plone.stringinterp-1.0.11.zip" } ], "1.0.12": [ { "comment_text": "", "digests": { "md5": "f05d26227a6812a473d4256cabf878b3", "sha256": "7ad6e0eaa4e509374cf3bce49f4f4859594aefcb822155e5e311a403d6bde09d" }, "downloads": -1, "filename": "plone.stringinterp-1.0.12.zip", "has_sig": false, "md5_digest": "f05d26227a6812a473d4256cabf878b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28442, "upload_time": "2014-10-14T01:10:40", "url": "https://files.pythonhosted.org/packages/f2/44/4283dae18896b3df0c2f3b2d12eddf5cd34864f80400ecff9a52ef2f934d/plone.stringinterp-1.0.12.zip" } ], "1.0.13": [ { "comment_text": "", "digests": { "md5": "ba71a99eaef5de46bdc6b8b9e85ba318", "sha256": "5663acb7f99be19c3ac9aa26d42dff147294f886395b6ed89d8dd87d346f9163" }, "downloads": -1, "filename": "plone.stringinterp-1.0.13.zip", "has_sig": false, "md5_digest": "ba71a99eaef5de46bdc6b8b9e85ba318", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28849, "upload_time": "2015-04-28T15:10:06", "url": "https://files.pythonhosted.org/packages/f5/95/da2fe2e5b97c6a2624cd4250b8fc19636a0025e38c51baddd617dd0b18b2/plone.stringinterp-1.0.13.zip" } ], "1.0.14": [ { "comment_text": "", "digests": { "md5": "00e15b6d45b8b7b5591aa33c136ce546", "sha256": "3d8239146cf99cb9e5d859d5e545748b537541d32ad31a53c02e5a9b40c52431" }, "downloads": -1, "filename": "plone.stringinterp-1.0.14.tar.gz", "has_sig": false, "md5_digest": "00e15b6d45b8b7b5591aa33c136ce546", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21840, "upload_time": "2016-09-20T14:03:04", "url": "https://files.pythonhosted.org/packages/54/ab/ece6dcbcadea9a1020e01a8fa6b2f163f3b6a1b09a8590b037df0936f0f2/plone.stringinterp-1.0.14.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "c6e1eb008df6dbadafe451175284c0aa", "sha256": "713356cf1725b94e9520a1814257ce7aa6e595938ef497ac259721f91a583a05" }, "downloads": -1, "filename": "plone.stringinterp-1.0.2.zip", "has_sig": false, "md5_digest": "c6e1eb008df6dbadafe451175284c0aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24941, "upload_time": "2010-09-20T22:44:39", "url": "https://files.pythonhosted.org/packages/1d/ef/00fee29b722b59b8d730f6f0c7c8c9ba63193071e7967e188f307900c917/plone.stringinterp-1.0.2.zip" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "00deebee29422a26c5e5830cf09dc8e1", "sha256": "bce71787efdc9d253618303438a19b7410af2fdd2f39c82705c53f7ee1a56692" }, "downloads": -1, "filename": "plone.stringinterp-1.0.3.zip", "has_sig": false, "md5_digest": "00deebee29422a26c5e5830cf09dc8e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25386, "upload_time": "2010-11-11T15:27:39", "url": "https://files.pythonhosted.org/packages/3d/2d/aedc27fbb3516c66d4147763e6edd1c14399c368f8e5f9912734c0b31cb2/plone.stringinterp-1.0.3.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "fffbff76e4a9d710a623a3b60275ed0d", "sha256": "8e8fa1a205775dab81ec187f65f90a2f28bdeb244067c50f5e3c00d65e58e216" }, "downloads": -1, "filename": "plone.stringinterp-1.0.4.zip", "has_sig": false, "md5_digest": "fffbff76e4a9d710a623a3b60275ed0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25553, "upload_time": "2011-04-02T02:09:13", "url": "https://files.pythonhosted.org/packages/89/18/cc5261e616dcef0e64ff169e2a749ccabe3d88b2f97f80590a6f62827ff9/plone.stringinterp-1.0.4.zip" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "a60848a07b35c14639ca6aa0d9c4d66b", "sha256": "29555fbbcafea6e0f0fc29454c6463daad1a3777bbac2f91b04d338649278677" }, "downloads": -1, "filename": "plone.stringinterp-1.0.5.tar.gz", "has_sig": false, "md5_digest": "a60848a07b35c14639ca6aa0d9c4d66b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16981, "upload_time": "2012-01-27T02:59:23", "url": "https://files.pythonhosted.org/packages/80/90/1604d58643c7e4cd2e05ae3023ac9ed358f49da07ccf61a663cda121ba89/plone.stringinterp-1.0.5.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "9dd51911538fd514b96e4deb4e34339c", "sha256": "3f5902597ce76de7e5e4261dd3f0b912684c5149408810936308cbc4bb267857" }, "downloads": -1, "filename": "plone.stringinterp-1.0.6.zip", "has_sig": false, "md5_digest": "9dd51911538fd514b96e4deb4e34339c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26297, "upload_time": "2012-08-04T20:55:45", "url": "https://files.pythonhosted.org/packages/27/5c/9278600b587b447bd432c0911b72e958ef65dec4682c14385eb2027c59e7/plone.stringinterp-1.0.6.zip" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "81909716210c6ac3fd0ee87f45ea523d", "sha256": "875c271c884e7ce9be40892406c16e8af748a4f77233217a197da1c159cc2b24" }, "downloads": -1, "filename": "plone.stringinterp-1.0.7.zip", "has_sig": false, "md5_digest": "81909716210c6ac3fd0ee87f45ea523d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26866, "upload_time": "2012-08-11T17:45:34", "url": "https://files.pythonhosted.org/packages/97/a8/7fe6596e27897d8ed7853e77fb65cd5ef0fce11e05e6ab33663bb7e43e9c/plone.stringinterp-1.0.7.zip" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "292bda5c5da8eb27bde30a35db54f734", "sha256": "f695018d3e359e0f84522d1557ba204343b335b90b977e068d2b536fb9033efc" }, "downloads": -1, "filename": "plone.stringinterp-1.0.8.zip", "has_sig": false, "md5_digest": "292bda5c5da8eb27bde30a35db54f734", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27158, "upload_time": "2013-05-24T02:21:02", "url": "https://files.pythonhosted.org/packages/38/d1/92a8522e8257d10e02e56e9f1387be43c45f8e55916e1f9073b438a09f94/plone.stringinterp-1.0.8.zip" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "29666e2a7ee072e996a4d61000969dc9", "sha256": "300441434d7803cbf10015523467e1d72a0e7b422bb479284ae4c5d4f4225c80" }, "downloads": -1, "filename": "plone.stringinterp-1.0.9.zip", "has_sig": false, "md5_digest": "29666e2a7ee072e996a4d61000969dc9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27430, "upload_time": "2013-05-27T01:03:01", "url": "https://files.pythonhosted.org/packages/62/05/f26eb26e60d551efcadfb76380dfea73da76347cb5570223c8184c045a54/plone.stringinterp-1.0.9.zip" } ], "1.0b1": [ { "comment_text": "", "digests": { "md5": "03015eae7ef5c6a4873abb9538a6d23c", "sha256": "d83229c9a99072179bfb4691b1698aca41ad4891778347058b4e0fa7447a073c" }, "downloads": -1, "filename": "plone.stringinterp-1.0b1.zip", "has_sig": false, "md5_digest": "03015eae7ef5c6a4873abb9538a6d23c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24932, "upload_time": "2009-11-16T02:06:27", "url": "https://files.pythonhosted.org/packages/93/29/c98b421868983383b30b34a91523485eeb2a2bed812eba372395bcf45cda/plone.stringinterp-1.0b1.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "c1a29b8655a8ce770e680b688f12901e", "sha256": "a8e7367f26591af3b9d15c89db037c6a3768a1eade79051622147a6bbfe475a6" }, "downloads": -1, "filename": "plone.stringinterp-1.1.zip", "has_sig": false, "md5_digest": "c1a29b8655a8ce770e680b688f12901e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27167, "upload_time": "2014-02-25T18:30:33", "url": "https://files.pythonhosted.org/packages/85/c8/d4cde2f34549f515bd0a44028f3aa1749d3351a44e99fde74986a0e61e91/plone.stringinterp-1.1.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "c9650180ed26aa112db4c9d40eaa238e", "sha256": "cc168dc151edf72da2d5c2a92d67750a86477783e68361ab1cd88cff510d700d" }, "downloads": -1, "filename": "plone.stringinterp-1.1.1.zip", "has_sig": false, "md5_digest": "c9650180ed26aa112db4c9d40eaa238e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31096, "upload_time": "2014-11-01T10:20:48", "url": "https://files.pythonhosted.org/packages/12/16/5b43dd5560c7596382d7db1f4da91814e9a9791591023fefd2e3be94db53/plone.stringinterp-1.1.1.zip" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "053da4f9ca70fa153e613c30613f674a", "sha256": "98b898d87f9080844ff588cf052edad6b37b1ea4ad7e82de371e30f0036d60c6" }, "downloads": -1, "filename": "plone.stringinterp-1.1.2.zip", "has_sig": false, "md5_digest": "053da4f9ca70fa153e613c30613f674a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31321, "upload_time": "2015-03-13T17:21:31", "url": "https://files.pythonhosted.org/packages/09/57/973f150dca72e68808dfe3b432cb9177bc7f5e2a453d72cdd09289c45dd1/plone.stringinterp-1.1.2.zip" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "3678e660525ff16609170e6a0cc8d357", "sha256": "948c866a58cb4e8d65581efcb237640435ef9394b1cf2c11b68a8d4b23e30c3a" }, "downloads": -1, "filename": "plone.stringinterp-1.1.3.tar.gz", "has_sig": false, "md5_digest": "3678e660525ff16609170e6a0cc8d357", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20942, "upload_time": "2016-05-25T19:17:12", "url": "https://files.pythonhosted.org/packages/ff/64/d980d98bf2d81588c0c34d852d3b6d2a94f29f16b380dffaee0815a1de44/plone.stringinterp-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "02c5f393cd79630ae2dc6ad9e4c6a981", "sha256": "3fdb73a072a2438e02ce5d6535c0b7e2092ebdc9324a3b2d7a895745582099de" }, "downloads": -1, "filename": "plone.stringinterp-1.1.4.tar.gz", "has_sig": false, "md5_digest": "02c5f393cd79630ae2dc6ad9e4c6a981", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21117, "upload_time": "2016-08-18T00:22:24", "url": "https://files.pythonhosted.org/packages/86/53/30263c04a63888b6d106188422611db6846c9aea274e6bfe5702e24a3697/plone.stringinterp-1.1.4.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "e510733cad9da3b4c5062f070d457b2c", "sha256": "fb89a3f12ba2a16d3735eaa30c655d6df4e3f38d1a9f92182109f4f052dd186c" }, "downloads": -1, "filename": "plone.stringinterp-1.2.tar.gz", "has_sig": false, "md5_digest": "e510733cad9da3b4c5062f070d457b2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22390, "upload_time": "2016-09-20T14:05:11", "url": "https://files.pythonhosted.org/packages/c9/55/a2872167ea488bde2d2df6a802407876bd9fafefcf9242703ff134cc9cd9/plone.stringinterp-1.2.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "b61ff035938b08d49ab446528875692f", "sha256": "edff2c8c10fbb69e2df3ca81d4b28e548bdf27530248f486f9814662a3445bdf" }, "downloads": -1, "filename": "plone.stringinterp-1.2.1.tar.gz", "has_sig": false, "md5_digest": "b61ff035938b08d49ab446528875692f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22530, "upload_time": "2016-11-18T19:18:30", "url": "https://files.pythonhosted.org/packages/ad/2e/e89fca17f4e8e9f25444b5402f0757795ec1350970f2ee99c949c8539c5b/plone.stringinterp-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "60ae0d96400911d82b4e52047eaccfe3", "sha256": "5773821d72b83d232e9f287a908dd009788d63730fcdd53fde0862e02f5f4a76" }, "downloads": -1, "filename": "plone.stringinterp-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "60ae0d96400911d82b4e52047eaccfe3", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23325, "upload_time": "2018-09-28T12:13:12", "url": "https://files.pythonhosted.org/packages/a1/d1/d1c5df6e2b2671b0a43e16a0c49ac7da5c9db6127cd969b8eca7b582e667/plone.stringinterp-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "287d0b8836587a64b0321cd8a7616180", "sha256": "0689f0b7e5ceaff9afde68df321744ab87a876651dc1f942bfd6d88a341cb585" }, "downloads": -1, "filename": "plone.stringinterp-1.3.0.tar.gz", "has_sig": false, "md5_digest": "287d0b8836587a64b0321cd8a7616180", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22098, "upload_time": "2018-09-28T12:13:14", "url": "https://files.pythonhosted.org/packages/f2/d9/7cbc5648f4c3d7b445de1a159514a28810707a6aa132e64abeede5f989ed/plone.stringinterp-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "34064edef8d2461da0b15498ca59c763", "sha256": "598c8cb7b1ffbe5d4b437f42684269fdbdc13de77e4cae179a2f07dba452da5c" }, "downloads": -1, "filename": "plone.stringinterp-1.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "34064edef8d2461da0b15498ca59c763", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23396, "upload_time": "2018-11-04T05:24:22", "url": "https://files.pythonhosted.org/packages/23/39/cadfd4699cb0e92d1644e07098496e5359277be43f6f42b0390cf22b88db/plone.stringinterp-1.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1add020305fa3542e885d89659419af6", "sha256": "926c1eefffe6e5dcecbe5faa5f8b6aede1c3160c85d987f510450bab695dbda5" }, "downloads": -1, "filename": "plone.stringinterp-1.3.1.tar.gz", "has_sig": false, "md5_digest": "1add020305fa3542e885d89659419af6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22236, "upload_time": "2018-11-04T05:24:24", "url": "https://files.pythonhosted.org/packages/0c/2a/d9c79f21e240132a4a14f3b99957ebae332289939b35c5e25f74d5a8d364/plone.stringinterp-1.3.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "34064edef8d2461da0b15498ca59c763", "sha256": "598c8cb7b1ffbe5d4b437f42684269fdbdc13de77e4cae179a2f07dba452da5c" }, "downloads": -1, "filename": "plone.stringinterp-1.3.1-py2-none-any.whl", "has_sig": false, "md5_digest": "34064edef8d2461da0b15498ca59c763", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23396, "upload_time": "2018-11-04T05:24:22", "url": "https://files.pythonhosted.org/packages/23/39/cadfd4699cb0e92d1644e07098496e5359277be43f6f42b0390cf22b88db/plone.stringinterp-1.3.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1add020305fa3542e885d89659419af6", "sha256": "926c1eefffe6e5dcecbe5faa5f8b6aede1c3160c85d987f510450bab695dbda5" }, "downloads": -1, "filename": "plone.stringinterp-1.3.1.tar.gz", "has_sig": false, "md5_digest": "1add020305fa3542e885d89659419af6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22236, "upload_time": "2018-11-04T05:24:24", "url": "https://files.pythonhosted.org/packages/0c/2a/d9c79f21e240132a4a14f3b99957ebae332289939b35c5e25f74d5a8d364/plone.stringinterp-1.3.1.tar.gz" } ] }