{ "info": { "author": "Kees Hink", "author_email": "hink@gw20e.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Plone", "Framework :: Plone :: 4.3", "Intended Audience :: End Users/Desktop", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Topic :: Internet", "Topic :: Scientific/Engineering :: GIS", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": ".. image:: https://travis-ci.org/collective/Products.Doormat.png\n :target: https://travis-ci.org/collective/Products.Doormat\n\n.. image:: https://coveralls.io/repos/collective/Products.Doormat/badge.png\n :target: https://coveralls.io/r/collective/Products.Doormat\n\n\nIntroduction\n============\n\nA doormat is a couple of links which are presented in a structured\nway. One example is the current plone.org_, where the div#sitemap at the bottom\nconsists of some ordered bundles of internal and external links, with sections\ncalled \"Downloads\", \"Documentation\", \"Developers\", \"Plone foundation\" and\n\"Support\". See more examples_ of doormats.\n\nThis product adds a couple of content types (Archetypes), which are used to\ncreate a structure which is used for generating a doormat. A viewlet on this\ndoormat is placed in the Plone footer. The links in the Doormat are managed as\ncontent, making the Doormat more flexible than a sitemap. It's also possible\nto add external links. It's also possible to add bits of text, with markup.\n\n\nQuick feature overview\n======================\n\n* Internal links\n* External links\n* Text blocks (including images)\n* Links from Plone Collections\n* Can have any number of columns\n* Can have multiple sections per column\n\n\nSimilar products\n================\n\ncollective.doormat\n------------------\n\ncollective.doormat_ also lets you creates a doormat in your site, but takes a different approach: Instead of creating a structure of content objects, it offers a configuration panel where you can create the doormat in a single rich text field.\n\nThis approach is a lot easier for maintaining the doormat.\n\nIt doesn't take permissions into account, so links might point to internal content to which the visitor viewing the page has no access. There is also no way to add content from collections.\n\n\nGetting started\n===============\n\nAfter installing the product in your site, you should have a \"Doormat\" item in\nyour Plone site, which should show up in the folder contents of the site.\nInside it, you can create a hierarchical structure of Columns,\nSections, links (both internal and external), Documents (Plone's Page type),\nand Links to a Collection (DoormatCollection).\nThere should be one Column, one Section and one Document already there.\n\nThe Doormat may look like this, schematically::\n\n +-- Doormat ----------------------------------------------------------------------------+\n | |\n | +-- Column 1 ----------+ +-- Column 2----------+ +-- Column 3 ------------------+ |\n | | | | | | | |\n | | +-- Section 1 ----+ | | +-- Section 1 ----+ | | +-- Section 1 -------------+ | |\n | | | | | | | | | | | | | |\n | | | +-- Link 1 --+ | | | | +-- Link 1 --+ | | | | +-- Document 1 -------+ | | |\n | | | +------------+ | | | | +------------+ | | | | | | | | |\n | | | | | | | | | | | | (Contact info) | | | |\n | | | +-- Link 2 --+ | | | | +-- Link 2 --+ | | | | | | | | |\n | | | +------------+ | | | | +------------+ | | | | +---------------------+ | | |\n | | | | | | | | | | | | | |\n | | | +- Document -+ | | | | | | | | +- DoormatCollection -+ | | |\n | | | | | | | | | | | | | | | | | |\n | | | | | | | | | | | | | | Item 1 from Collctn | | | |\n | | | +------------+ | | | | | | | | | Item 2 from Collctn | | | |\n | | | | | | | | | | | | (...) | | | |\n | | | | | | | | | | | | Link to Collection | | | |\n | | | | | | | | | | | | | | | |\n | | | | | | | | | | | +---------------------| | | |\n | | | | | | | | | | | | | |\n | | +-----------------+ | | +-----------------+ | | +--------------------------+ | |\n | | | | | | | |\n | +----------------------+ +---------------------+ +------------------------------+ |\n | |\n +---------------------------------------------------------------------------------------+\n\nIn fact, you can add more than one section, they will be displayed below each\nother. In each section, you can mix internal links, external links and\nDocuments.\n\nAnd in real life:\n\n.. image:: http://plone.org/products/doormat/screenshot\n\nNote that the product adds an extra hierarchical layer compared to the\nplone.org_ doormat: it adds a Column, which can contain more than one Section.\nAn example using this structure is the Oosterpoort_, which actually is the\nproduct's predecessor.\n\n\nAdding a Document\n=================\n\nAdding and editing a Document to the Doormat is just as simple as adding it in\nany other place. However, keep this in mind that only the \"Body text\" field\nwill be displayed in the Doormat. Other fields, most notably the title and\ndescription will be omitted.\n\nLinks in a Document\n-------------------\n\nBy default, relative links will be created from the place where the Document\nlives. This link is then displayed in the Doormat on all pages, so it is very\nlikely to be broken.\n\nThe solution is to make your editor insert links by uid. With TinyMCE on Plone\n4, you can enable \"link by uid\" by going to the \"Resource types\" tab on TinyMCE\nSettings (via the \"Site setup\"), and checking the box called \"Link using UIDs\".\n\nThis will apply to the whole site. You may want to revert to the default\nsetting after you've added the link, as relative links are more desirable in\ngeneral.\n\nAdding an Image\n---------------\n\nTo add an image to the Doormat, add a Document and include an image there. It's\nnot possible to upload an Image to a DoormatSection, so you need to upload the\nimage to another place in your site first.\n\nMake sure you enable \"Link using UIDs\" (see above) first, because defining the\nimage's location in a relative way will break in the same way as a relative\nlink will break.\n\nLinks to Collections\n====================\n\nIt's also possible to add a \"Link to Collection\" item (DoormatCollection). This\nallows yout to point to a Plone Collection object, and take the items from\nthat.\n\n\nSimple configuration\n====================\n\nBy default, the Doormat is excluded from navigation.\n\nThere's a field `showTitle` on the folderish types (Doormat, Column and\nSection) which allows content managers to decide if the item's title should be\ndisplayed in the doormat.\n\n\nMore advanced configuration and styling\n=======================================\n\nThis section is intended for integrators and/or developers who would like to\ncustomize the way the doormat is rendered in more detail.\n\nMoving the doormat\n------------------\n\nBy default, the default doormat viewlet (`doormat.footer`) is placed in the\n`plone.portalfooter` viewlet manager. It's easy to modify this in an add-on\nproduct, so the doormat will display below the global navigation (portal tabs),\nor anywhere else in the site.\n\n\nDisplaying the doormat without the extra div elements\n-----------------------------------------------------\n\nThe default viewlet renders the doormat inside Plone's default footer elements,\nso it blends in with Plone 4's default Sunburst Theme::\n\n
\n
\n
\n
\n
\n\nUsing the `doormat.footer.bare` viewlet will omit the two outermost
's.\nThis may be handy when using the doormat in a different theme, or in a\ncustomized layout. You can hide the default viewlet and enable the bare version\nthrough `@@manage-viewlets`, or by adding a customized `viewlets.xml` to the\nproduct you're developing.\n\n\nCaveats\n=======\n\nMore than one Doormat\n---------------------\n\nThe viewlet does a catalog lookup for the `Doormat` portal type. If you have\nmore than one object of this type (nothing stops you), it will use the oldest\none.\n\nUninstalling removes content\n----------------------------\n\nIf you run the uninstall profile, like when you uninstall the product, **all\ncontent will be deleted**. This ensures the product uninstalls cleanly, for\nthe convenience of migrations and of those just wanting to try it out.\n\nIf you have a Doormat in your site and you are happy with it, don't click\nuninstall.\n\n\nDependencies / Requirements\n===========================\n\nThe product works on:\n\n* Plone 3\n* Plone 4\n\n\nCredits\n=======\n\nSee Changelog.\n\nThis product was originally sponsored by GroningerForum_.\n\n\n.. _examples: http://www.welie.com/patterns/showPattern.php?patternID=doormat\n.. _plone.org: http://www.plone.org\n.. _Oosterpoort: http://www.de-oosterpoort.nl\n.. _GroningerForum: http://www.groningerforum.nl\n.. _collective.doormat: http://plone.org/products/collective.doormat\n\n\nChangelog\n=========\n\n1.2 (2016-08-22)\n----------------\n\n- Adds support for ``${navigation_root_url}`` and ``${portal_url}`` in Dexterity links.\n Sorry, Archetypes does not support this.\n (closes `#9`_).\n [idgserpro]\n\n\n1.1 (2016-05-20)\n----------------\n\n- Do not remove existing content on reinstall\n [pbauer]\n\n- Add check for correct GS profile within import step.\n [tmassman]\n\n\n1.0 (2013-12-23)\n----------------\n\n- Updated classifiers list and keywords for package\n [macagua]\n\n- Added Spanish translation\n [macagua]\n\n- Added i18n support\n [macagua]\n\n- Fix typo that broke Doormat when used with plone.app.contenttypes version 1.0b2 or above\n [ericof]\n\n- Fixed DoormatCollection without limit\n [lccruz]\n\n\n0.9.1 (2013-10-10)\n------------------\n\n- Make content creation depend on types, fixes error in install.\n Make clicking \"Deactivate\" run the uninstall profile.\n [khink]\n\n\n0.9 (2013-10-10)\n----------------\n\n- Remove UML.\n Add tests, use Travis and Coveralls.\n Create a Doormat on install.\n Add uninstall profile.\n [khink]\n\n\n0.8 (2013-08-23)\n----------------\n\n- Use archetypes.referencebrowserwidget in the DoormatReference if\n available. Note: archetypes.referencebrowserwidget 2.4.15 and\n 2.4.16 broke non-multi reference selection, so if your Plone version\n uses one of those versions, you should edit your buildout to use a\n newer version.\n [maurits]\n\n- Moved to github: https://github.com/collective/Products.Doormat\n [maurits]\n\n- Make compatible with Dexterity and new collections\n [pbauer]\n\n- Subclass from ATCTContent instead of BaseContent\n (taken from https://github.com/pymilya/Products.Doormat)\n\n- Search for doormats only in the navigation root. This allows to\n have a different doormat (or no doormat) in parts of the site.\n [maurits]\n\n0.7 (2011-06-22)\n----------------\n\nMerged collections branch.\n\n- Add \"DoormatCollection\" type, which takes links from a Collection.\n Thanks to Alessandro Vermeulen's branch at https://github.com/spockz/Products.Doormat.\n\n- Don't subclass DoormatCollection from DoormatMixin.\n [khink]\n\n- Add labels and description for fields, add a pointer in the documentation.\n [khink]\n\n- contentValues() instead of objectValues() (only expose CMS content)\n [khink]\n\n0.6 (2010-11-11)\n----------------\n\n- Ability to style doormat columns by position.\n [malthe]\n\n- Don't use the catalog, traverse using objectValues()\n https://dev.plone.org/plone/ticket/11265\n [khink]\n\n0.5 (2010-10-25)\n----------------\n\n- Set global_allow=False on DoormatSection by adding tagged value in UML.\n (agx mysteriously sets it to True by default)\n [khink]\n\n- Developer documentation (about using AGX)\n\n- Explicitly set `external-link` class for Link type objects.\n\n0.4 (2010-10-05)\n----------------\n\n- Allow adding text as well as links.\n http://plone.org/products/doormat/issues/6\n [renskers]\n\n- Re-added skins folders, as these will be generated by AGX.\n (Make them not empty.)\n http://plone.org/products/doormat/issues/4\n [khink]\n\n- Add class on 'doormat-container' div for number of columns.\n Add CSS so columns are equal width.\n [khink]\n\n0.3 (2010-07-19)\n----------------\n\n- Remove empty skins/ folders doormat_styles/ and doormat_templates/ (fixes\n http://plone.org/products/doormat/issues/4: Skin dirs missing from egg)\n\n- Added viewlet doormat.footer.bare to display the doormat without the div.row\n and div.cell wrapping.\n\n0.2 (2010-06-11)\n----------------\n\n- Add viewlet to browser layer (fixes\n http://plone.org/products/doormat/issues/3: Uninstall cleanly)\n\n0.1.1 (2010-06-09)\n------------------\n\n- added locales/NOTEMPTY.txt to ensure locales/ is added to egg. This fixes #1\n (http://plone.org/products/doormat/issues/1)\n- updated doc\n\n0.1 (2010-06-08)\n----------------\n\nInitial release\n\n\n.. _`#9`: https://github.com/collective/Products.Doormat/issues/9\n\nFor developers\n==============\n\nUML deprecation notice\n----------------------\n\nThis product's content types were created with ArchGenXML (AGX), a tool to\ngenerate code from a UML model. AGX is no longer widely used, since Dexterity\ncontent types have replaced Archetypes as the default content type story.\n\nSince version 0.9, this package has tests, for which plone.app.testing is\nused. Making AGX work with this doesn't seem to be worth the trouble.\nTherefore the UML model and everything that's related to it was removed.\n\nYou'll still find the UML and its documentation in a pre-0.9 version of the\ncode.\n\nTo do\n=====\n\n* Add some sort of caching for getDoormatData and getDoormatTitle methods, or\n for the entire viewlet. Or at least get an idea of how expensive they are.\n Currently the viewlet computes the whole doormat each time it is rendered.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/collective/Products.Doormat", "keywords": "doormat viewlet plone footer", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "Products.Doormat", "package_url": "https://pypi.org/project/Products.Doormat/", "platform": "", "project_url": "https://pypi.org/project/Products.Doormat/", "project_urls": { "Homepage": "https://github.com/collective/Products.Doormat" }, "release_url": "https://pypi.org/project/Products.Doormat/1.2/", "requires_dist": null, "requires_python": "", "summary": "Adds a doormat viewlet and installs it in the Plone footer. The links and text in the doormat are manageable as content.", "version": "1.2" }, "last_serial": 2295120, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "1948cfd3a46b1d108b36527292fe5603", "sha256": "26756c25286a51fb3de760a3c1e3156256b0bc08b47236bc1f4d7cc0ec6864f9" }, "downloads": -1, "filename": "Products.Doormat-0.1.tar.gz", "has_sig": false, "md5_digest": "1948cfd3a46b1d108b36527292fe5603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50458, "upload_time": "2010-06-08T18:04:06", "url": "https://files.pythonhosted.org/packages/11/e3/0354b39c28c7c27b53657567ba41a4637bc78e562f8e6dae06d98fd817f4/Products.Doormat-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "07e1131e27f2539b77dcbffc7472493f", "sha256": "7c745f8a139eed485d064926f421c17dc3323a62ed5e035f9aef3787c5839e19" }, "downloads": -1, "filename": "Products.Doormat-0.1.1.tar.gz", "has_sig": false, "md5_digest": "07e1131e27f2539b77dcbffc7472493f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 51861, "upload_time": "2010-06-09T11:12:13", "url": "https://files.pythonhosted.org/packages/25/81/5659cd8de60de54c396ccaec68d235a115ebf55e46a805dcefc80938533e/Products.Doormat-0.1.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "c9dc08449b27044305490d8400061bc4", "sha256": "0201d8fb5a55818598560f4cf8b1726b62fde3301752ae3a1e33107fe5665bba" }, "downloads": -1, "filename": "Products.Doormat-0.2.tar.gz", "has_sig": false, "md5_digest": "c9dc08449b27044305490d8400061bc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 52371, "upload_time": "2010-06-11T09:57:40", "url": "https://files.pythonhosted.org/packages/d2/db/2db9ec839f2a87849c82642844791fad4132198917233352cba6f6ce173d/Products.Doormat-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "72b93fb902f5855210c91a5fd6a9ffda", "sha256": "6039efcc08d109863b54537c45c283a9368dac761d2ac180bb4c87661bf5c0e2" }, "downloads": -1, "filename": "Products.Doormat-0.3.tar.gz", "has_sig": false, "md5_digest": "72b93fb902f5855210c91a5fd6a9ffda", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53977, "upload_time": "2010-07-19T15:08:38", "url": "https://files.pythonhosted.org/packages/84/06/3b082759575a6b5267b460cd523111d639e07f7fc9149e74f3eeae357ace/Products.Doormat-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "4e0ff928686a09a28e18bdf6875f9346", "sha256": "52e2529a281a1d8b9c5858d3fadab20ee6a873a294135dc2389829674dc6f612" }, "downloads": -1, "filename": "Products.Doormat-0.4.tar.gz", "has_sig": false, "md5_digest": "4e0ff928686a09a28e18bdf6875f9346", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55456, "upload_time": "2010-10-05T12:46:52", "url": "https://files.pythonhosted.org/packages/63/f1/177e1d78aeb40d3b859b8ec1011d20bc33741c7aee51f61691e724cca6e5/Products.Doormat-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "34a5e97e351cd156e653b42f6349ac7a", "sha256": "8ea2d31cd27e1875453ed82703f69b171842adcf0fa000d5b74009ada5da654d" }, "downloads": -1, "filename": "Products.Doormat-0.5.tar.gz", "has_sig": false, "md5_digest": "34a5e97e351cd156e653b42f6349ac7a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56256, "upload_time": "2010-10-25T16:46:37", "url": "https://files.pythonhosted.org/packages/81/16/ec60c6f7204d11c4417f1b85a61b1a4a8810b5652c85766a19d8496a2ba1/Products.Doormat-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "f9967233bb2901a88c9163b6c35a626b", "sha256": "990234688ea9c6588a9cbaba0f0c487cbf9d7135ebf151dc9ba6c5de643f259f" }, "downloads": -1, "filename": "Products.Doormat-0.6.tar.gz", "has_sig": false, "md5_digest": "f9967233bb2901a88c9163b6c35a626b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 59995, "upload_time": "2010-11-11T15:35:39", "url": "https://files.pythonhosted.org/packages/0e/89/d8e213b57239ea92f4088a1ee8b3d6641517657325f471d74d5558d7f3e9/Products.Doormat-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "71876f320ac0ff8583a95808f72ae9ba", "sha256": "15601c43246a450593dd3eaa1c3e474f1581826cee9cc6e2cc4aacc6c14f121b" }, "downloads": -1, "filename": "Products.Doormat-0.7.tar.gz", "has_sig": false, "md5_digest": "71876f320ac0ff8583a95808f72ae9ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 66779, "upload_time": "2011-06-22T14:46:43", "url": "https://files.pythonhosted.org/packages/f8/67/9512d9a7d3bbe2d520aa70f64b6fcaf8581431742c4b8b7ba206cf6a1317/Products.Doormat-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "37a08e81365c6ebe67a4d7c7dcdda4b4", "sha256": "9ae21299925d02623fda0d881ad0fd0ac5248a8959ee8a3e2f511943ecd0cf4b" }, "downloads": -1, "filename": "Products.Doormat-0.8.zip", "has_sig": false, "md5_digest": "37a08e81365c6ebe67a4d7c7dcdda4b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 68709, "upload_time": "2013-08-23T11:44:51", "url": "https://files.pythonhosted.org/packages/be/53/c2134523d97682fafe15603f20e16674bd19c091802a17c50682962f52f8/Products.Doormat-0.8.zip" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "181751d46406fa5db67bae775d64be41", "sha256": "1b053fa4274d216b3a8de106437d898dd3ee0407dbabfb397e997cdc05266465" }, "downloads": -1, "filename": "Products.Doormat-0.9.zip", "has_sig": false, "md5_digest": "181751d46406fa5db67bae775d64be41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 72092, "upload_time": "2013-10-10T07:04:42", "url": "https://files.pythonhosted.org/packages/49/b4/47f5f21b287abad8d922e51c6dab30bbe3ae7303196618eb62149f2bd92b/Products.Doormat-0.9.zip" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "043c70885baa56c59bfc4a8e927478ec", "sha256": "8888e7a278c974ea69c284330dbac0124d0608969ea58aee759f620a123bb498" }, "downloads": -1, "filename": "Products.Doormat-0.9.1.zip", "has_sig": false, "md5_digest": "043c70885baa56c59bfc4a8e927478ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 73175, "upload_time": "2013-10-10T09:17:21", "url": "https://files.pythonhosted.org/packages/9d/c9/e8a57451f41e55b72998f94b5f6ec400095b78d5964d53c34db6418e535c/Products.Doormat-0.9.1.zip" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "36a6f2c6769fed3677c3aeafab31199f", "sha256": "addca497d8f2483784c6246ee8eb844abdff0a42a58b262296d2b9a30e361727" }, "downloads": -1, "filename": "Products.Doormat-1.0.zip", "has_sig": false, "md5_digest": "36a6f2c6769fed3677c3aeafab31199f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 81916, "upload_time": "2013-12-23T13:55:52", "url": "https://files.pythonhosted.org/packages/84/70/4dffcb1f685c01cb2df81a9f3b337193eb337436e7f3403674efbc627767/Products.Doormat-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "b517a225990569779afdbc8aea255f53", "sha256": "9a44ae32f560eb9382dbca71f6cd3ca03f455ccc2c38548bf61d8c3fa777f23d" }, "downloads": -1, "filename": "Products.Doormat-1.1.tar.gz", "has_sig": false, "md5_digest": "b517a225990569779afdbc8aea255f53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45093, "upload_time": "2016-05-20T07:08:58", "url": "https://files.pythonhosted.org/packages/82/31/be885f506931c1a17ff5f81644b80dc7920789d833e8ec74c9acfb8a5842/Products.Doormat-1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "bdb92ffabe1272c9947e617f08a53e65", "sha256": "dbf4f0bf928e85f3c9edb41dabd65c02e219f43ed77c98efdcdc6d1d3ed018d3" }, "downloads": -1, "filename": "Products.Doormat-1.1.zip", "has_sig": false, "md5_digest": "bdb92ffabe1272c9947e617f08a53e65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84450, "upload_time": "2016-05-20T13:24:20", "url": "https://files.pythonhosted.org/packages/7e/8a/8638ee06afeb978d51f763729f2b4322582e73f3d76eb608c444c9172924/Products.Doormat-1.1.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "387da6e68908570a0795da3edbf92887", "sha256": "bede9622589afa4b31656a52a63c54a372b826210393d9b53fd0b25936e5454d" }, "downloads": -1, "filename": "Products.Doormat-1.2.tar.gz", "has_sig": false, "md5_digest": "387da6e68908570a0795da3edbf92887", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42697, "upload_time": "2016-08-22T09:14:43", "url": "https://files.pythonhosted.org/packages/b2/1d/9c46eae345154639920d5adeb6705c6f6ac2f75d5c0ae385989b09ac8ee9/Products.Doormat-1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "387da6e68908570a0795da3edbf92887", "sha256": "bede9622589afa4b31656a52a63c54a372b826210393d9b53fd0b25936e5454d" }, "downloads": -1, "filename": "Products.Doormat-1.2.tar.gz", "has_sig": false, "md5_digest": "387da6e68908570a0795da3edbf92887", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42697, "upload_time": "2016-08-22T09:14:43", "url": "https://files.pythonhosted.org/packages/b2/1d/9c46eae345154639920d5adeb6705c6f6ac2f75d5c0ae385989b09ac8ee9/Products.Doormat-1.2.tar.gz" } ] }