{ "info": { "author": "Andrey Orlov", "author_email": "dbdt@dreambot.ru", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet :: WWW/HTTP" ], "description": "Short description of ng.adapter\n===============================\n\nThis package has developed as the library of small adapters for the\ndifferent dark purposes.\n\nAdapter mtime\n-------------\n\nAdapter mtime intdends for getting object modification time. Object\nmodification time determine on the IPersistent level and this is an exactly\nin the most cases, but sometimes we need some of hooks to know object\nmodification time and adapter mtime helps us in this.\n\nAdapter mtime adapts IPersistent interface to IMTime interface. IMTime interface\nhas the following fields:\n \n mtime\n time of the last modification of object\n\n strftime(format)\n return time as format string, fromat see in man strftime\n\nAdapter path\n------------\n\nAdapter path intends for getting path from root object to current, Adapter can adopt\nany objects to IPath interface. Interface IPath provide followed fields:\n\n path\n Path from root to current object maked from attribute __name__ of object in between;\n\n titledpath\n Path from root to current object maked from titles object in between. Titles getting from\n adapter title (ITitle interface);\n\n\nAdapter title\n-------------\n\nAdapter title intends for getting object title (for any object). Adapter can adopt\nany objects to ITitle interface. Interface IPath provide followed fields:\n\n title\n Object title\n\nIf current object has not title property, property title of object, adopted\nti IZopeDublinCore return instead, If adopt to IZopeDublinCore is not possible,\nproperty __name__ or class name return instead.\n\nAdapter has been wrote in goot component style and it's posible to write adapter\nto ITitle for any specific cases.\n\n\nAdapter nsinterface\n-------------------\n \nAdapter nsinterface define nsinterface namespace to get possibility adopt current\nobject to any interfacr. Some syntax sample followed:: \n\n \n \n \n \nIt usefaul, basicaly, in debugging purpose.\n\nA few adapters to INameChooser\n------------------------------\n\nIf any of this adapters will be actvated to some container, object, created in this\ncontainer will be accept __name__ from ITitle adapter. To activate adapter interface one of marker interfaces\nare to set to container. There are three INameChooser adapter:\n\nNameChooser \n This adapter turn on by ng.adapter.interfaces.INameChooserAble. Adapter set __name__ from ITitle\n adapter without any changes.\n \nNameChooserSafe \n This adapter turn on by ng.adapter.interfaces.INameChooserSafeAble.\n Before set as __name__ adapter changing string accepted from ITitle to\n discard a few symbols not recommended in URL: '/', '?' and other.\n \nNameChooserSafeWithoutSpaces\n This adapter turn on by ng.adapter.interfaces.INameChooserSafeWithoutSpacesAble.\n Before set as __name__ adapter changing string accepted from ITitle to\n discard a few symbols not recommended in URL: '/', '?' and other. Adapter replace white-spaces\n by '_'symbol also.\n \n\nAdapter pager\n-------------\n\nAdapter allow make pagers by list adopted to IPagerSource. Adapter quicly \ndoing all evaluatiion needed to provede ready results as methods.\n\nProduct content adapters from components with interfaces IContainer, IOrderedContainer and\nResultSet (returned by zope.catalog). \n\n\u0421\u043f\u0438\u0441\u043e\u043a \u043c\u0435\u0442\u043e\u0434\u043e\u0432 IPager\n.....................\n\n setPagerParameters(revert=None, orphan=None,size=None)\n Set pager parameters:\n \n revert\n Show list reverted;\n \n orphan\n Maximum orphaned items;\n \n size \n One page chunk size;\n \n have_before\n True, if page before current exist;\n\n befores\n Key list from previos pages begins;\n \n beforeURLs\n URL list of previous pages;\n\n before\n Previous page;\n\n beforeURL = Field()\n URL of prefvious page;\n\n chunk\n Component list showed in current chunk (page);\n\n after\n Key of first item on next page;\n \n afterURL\n URL of next page;\n \n afters \n Key list of first items on followed pages;\n\n afterURLs\n URL list of nest pages;\n\n have_after\n True, if next page exist;\n\n len \n Common length of list;\n \nCode Sample::\n\n 0\">\n \n\t \n\t\t\t\n\t\t\n\t\t\n\t\t\t\n\t\t\n\t\t\t\n\t\t
\n\t\t tal:block tal:on-error=\"structure python:'
'\" \n\t\t tal:content=\"structure item/@@short\"/>\n\t\t\n\n\t\t\n \n\t\t\t\n
\n\t\t

\u0412\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b\n\t\t

\n\t\t\t <<<<<<\n\t\t\t \n\t\t\t []\n \t\t\t \n\t
'+item.__name__+'
\n\t\t \n\t\t\t []\n \t\t\t \n\t\t\t >>>>> \n\t
\n\n
\n\n\nAdapter recordsize \n------------------\n\nApapter allow get object record size of ZODB. Any object can be adopted to\nng.adapter.recordsize.IRecordSize interface and size can be read from size\nattribute. IRecordSize interface contents:\n\n size \n Object record size;\n\nObject size evaluated by means of transformation into filestorage-like\nformat.\n\nAdapter checktocontain\n----------------------\nAdapter define name space **++checktocontain++** to allow check possibility context to contain the class from paramenter.\nUsualy namespace used in different adding-like menu::\n\n \n\nThe parameter **filter** contain code to return True if **ng.app.photo.photo.Photo** can be contained in **context**\ncontainer.\n\nAdapter requestcache\n--------------------\nThe **requestcache** adapter can adopt **IHTTPRequest** request to IRequestCache interface. IRequestCache provide\nmethod to set cache headers:\n\ncache(period=600)\n Set cache headers to cache during **period** second;\n \nnocache()\n Set cache headers to avoid cacheing;\n \nAdapter provide view **@@requestcache** with methods cache and nocache. Cache headers setted by the view can\nbe managed by **IRegistry** keys mentioned below:\n\nrequest_cache_use (True/False)\n Allow or deny cache management use. When parameter is False cache headers not set at all;\n \nrequest_cache_period (int)\n Set cache period;\n \nrequest_cache_use_as_nocache (True/False)\n\n Deny use any cache. When parameter is True cache headers set to deny cache by **nocache** method.\n \nThe \"toolchanger\" tool set\n--------------------------\nThe \"**toolchanger**\" tool set allow to make rare choice of view \nduring site navigtion.\n\nEach site component provide a few views allowed unique interaction with the\ncomponent. The toolURL is adapter allow to generate URL based on choice maked\nuser in past. There is simple using sample::\n\n \n \n \n\nAlgorithm of view selection requires unification view names: all views provided\nby different components and named equally allow to execute similar\noperations. Therefore choice selected by user is preferable choice in subsequent \nsite navigation, Name of view choosed by user are stored\nin URL. Code in sample above check existence of view with the same name for\nother object and, if it possible, URL to call it is generated. Default method used\notherwise. Using this idea allow to strong simplify site navigation.\n\nUnification of view names has to enforced during site development.\n\n\n\n* Sun Jul 12 2009 Andrey Orlov 0.2.1\n- Two new adapters to INameChoose added. NameChooseSafe translate title to\n name without forbidden URL symbols (\"/\", \"?\" and other),\n NameChooserSafeWithoutSpace - to name without forbidden symbols and\n spaces.\n\n* Wed Feb 11 2009 Andrey Orlov 0.2.0\n- Adapter ICheckSublocation added\n- Adapter IBreadCrumb added\n- Adapter IPager behaviour changed on setPagerParameters\n- Some debug information excluded\n\n* Mon Oct 20 2008 Andrey Orlov 0.1.10\n- Toolset \"toolchanger\" added\n- Adapter RequestCache added\n\n* Tue Sep 23 2008 Andrey Orlov 0.1.9\n- Namespace ++checktocontain++ added\n\n* Tue Feb 19 2008 Andrey Orlov 0.1.8\n- NullSublocations adapter added\n- AdaptiveURL adapter added\n- Fault tolerance of ianytitle enchanced and some diagnostics added\n\n* Wed Feb 13 2008 Andrey Orlov 0.1.7\n- A ranging in ianytitle reverted\n\n* Wed Feb 06 2008 Andrey Orlov 0.1.6\n- A few bugs fixed in ianytitle, ranging alghorithm enchanced;\n- Some logging excluded;\n- IRegisry lookup changed in pager;\n\n* Wed Jan 23 2008 Andrey Orlov 0.1.5\n- added function for format string into mtime adapter\n\n* Mon Jan 21 2008 Andrey Orlov 0.1.4\n- Registry fixed\n\n* Mon Jan 21 2008 Andrey Orlov 0,1,3\n- IAnyTitle adapter added \n\n* Tue Jan 15 2008 Andrey Orlov 0.1.2\n- Recordsize adapter added. \n\n* Sat Jan 5 2008 Andrey Orlov 0.1.1\n- Some dependencies fixed\n\n* Sun Dec 2 2007 Andrey Orlov 0.1.0\n- Followed adapters added: namechooser, nsinterface, pager, path,\n requestext, title\n\n* Fr Nov 16 2007 Yegor Shershnev 0.0.1\n- first official release", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.dreambot.ru/DreamBotZope3Releases/ng.adapter", "keywords": null, "license": "GPL v2.1", "maintainer": null, "maintainer_email": null, "name": "ng.adapter", "package_url": "https://pypi.org/project/ng.adapter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ng.adapter/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.dreambot.ru/DreamBotZope3Releases/ng.adapter" }, "release_url": "https://pypi.org/project/ng.adapter/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "A few litle but useful adapters", "version": "0.2.1" }, "last_serial": 795352, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d40fbf3c6a4c00760a8643e6a846515f", "sha256": "814eac3466ea74cc9e67f48861db7eaeac171716dc91efa3663ae3f0be34342b" }, "downloads": -1, "filename": "ng.adapter-0.0.1.tar.gz", "has_sig": false, "md5_digest": "d40fbf3c6a4c00760a8643e6a846515f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3159, "upload_time": "2007-11-19T22:06:47", "url": "https://files.pythonhosted.org/packages/08/1d/47f7da433b6e70dc0464378eab23d2a3fc90f1ba1a90ecdf7e7af85b1172/ng.adapter-0.0.1.tar.gz" } ], "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "d36d64cab8314f783067070eeb21d2cb", "sha256": "5e258ba21e3c213426eb5cffb9e260c4c6959bee2cc1d1f60a5866e0630fa543" }, "downloads": -1, "filename": "ng.adapter-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d36d64cab8314f783067070eeb21d2cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18196, "upload_time": "2008-01-05T19:50:28", "url": "https://files.pythonhosted.org/packages/67/a4/c362bf4d60fbcb97076cae4d1d5ee374c052d37534d4f04b5259fb8be717/ng.adapter-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "6670cf0d9508dd783ef372b943251179", "sha256": "8158fe520260a19b393a7ff6f52cd6e9287bb127b2cb78da7d337b7da6b629ec" }, "downloads": -1, "filename": "ng.adapter-0.1.10.tar.gz", "has_sig": false, "md5_digest": "6670cf0d9508dd783ef372b943251179", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31253, "upload_time": "2008-10-20T18:24:21", "url": "https://files.pythonhosted.org/packages/71/fb/b7d92f72c15b296fc5a790e3610dcafaa863181dc5e5fa74a38468abc0f4/ng.adapter-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d54733bd2d31e9d5b6a80a78e5ef6783", "sha256": "c882387ff2ea73bba2824844d143b109b0d538894896a30f7b4e1bd37368ef41" }, "downloads": -1, "filename": "ng.adapter-0.1.2.tar.gz", "has_sig": false, "md5_digest": "d54733bd2d31e9d5b6a80a78e5ef6783", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19900, "upload_time": "2008-01-15T18:17:45", "url": "https://files.pythonhosted.org/packages/fd/7c/1e59d814f161dfb1af056fef357b0650ee7d28428b44309fe8ba68554519/ng.adapter-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e57e772c1cf36c2552b9d275695c3bf9", "sha256": "b4a17e4ae7829617d8a7b60497a1eedc6e078ea68124a093c327d4a3d980afc4" }, "downloads": -1, "filename": "ng.adapter-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e57e772c1cf36c2552b9d275695c3bf9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22210, "upload_time": "2008-01-21T14:52:41", "url": "https://files.pythonhosted.org/packages/42/47/ee99dc640fa1ae0ad1f5eab0367c84ca198faaae8853f7c2417cc3567857/ng.adapter-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "63022bd5fdfc0dee73f611b264f0b842", "sha256": "6a1d2a1e7682b9492bbe53fc8df6f5d8fd5d98cf870bebb194f8d373b3413539" }, "downloads": -1, "filename": "ng.adapter-0.1.4.tar.gz", "has_sig": false, "md5_digest": "63022bd5fdfc0dee73f611b264f0b842", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22218, "upload_time": "2008-01-21T15:32:14", "url": "https://files.pythonhosted.org/packages/8c/f1/1c13664ba281a332903bf64788a652dbbddfaca7a6b349c39af71640e626/ng.adapter-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "88efeb7cb706bb29421fe9f8bf0769c8", "sha256": "c669d2f28e7de92f6644ab8955e28269b5c40c33a02faddbc8e588a0b9a2cfef" }, "downloads": -1, "filename": "ng.adapter-0.1.5.tar.gz", "has_sig": false, "md5_digest": "88efeb7cb706bb29421fe9f8bf0769c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22540, "upload_time": "2008-01-23T14:09:09", "url": "https://files.pythonhosted.org/packages/3c/b4/ad073f761649369493c4d0cea7d2466a1ffd20e47d1faec41899b523d9cc/ng.adapter-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "bab368fda55b1b7f855d543cfde9c469", "sha256": "84a11ffeaeb21b86872f1d9afa3bf92d039d68930327dcbc2a4bf2faffa7efbb" }, "downloads": -1, "filename": "ng.adapter-0.1.6.tar.gz", "has_sig": false, "md5_digest": "bab368fda55b1b7f855d543cfde9c469", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22904, "upload_time": "2008-02-06T20:16:18", "url": "https://files.pythonhosted.org/packages/64/02/0d3263d2dbc9dd28d5bbdd51693d8cf568c0760f215c2840026403b3d29e/ng.adapter-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "6cf069488387b9321c938384b42a34ea", "sha256": "7eab810edb5554493f2852be6df64f50ba6b502396b912028a942d6210e3f405" }, "downloads": -1, "filename": "ng.adapter-0.1.7.tar.gz", "has_sig": false, "md5_digest": "6cf069488387b9321c938384b42a34ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22661, "upload_time": "2008-02-12T21:29:30", "url": "https://files.pythonhosted.org/packages/59/b4/3ad1992d3aabb5c1ae670f27ce6b4e2d4d5755b1d2dc43131b372dd57a17/ng.adapter-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "6c1d09d672085cb219607682a950b0e6", "sha256": "36c9cb6c0e9d02d010b5a09664122bc958b546b97c838b0716ad69c2d553fcf4" }, "downloads": -1, "filename": "ng.adapter-0.1.8.tar.gz", "has_sig": false, "md5_digest": "6c1d09d672085cb219607682a950b0e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25482, "upload_time": "2008-02-21T10:59:00", "url": "https://files.pythonhosted.org/packages/b3/e3/82dc1d9230dedce07a3e3c280b86a5c1a3dd01579a3f7165a4130a04d266/ng.adapter-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "634ce7e3f6422f8b8316325fff9eb5c7", "sha256": "48ef33e2dcbd9b658d1c0f7e80b67571d862174137b6671b07bcade2f4051c9a" }, "downloads": -1, "filename": "ng.adapter-0.1.9.tar.gz", "has_sig": false, "md5_digest": "634ce7e3f6422f8b8316325fff9eb5c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26550, "upload_time": "2008-09-23T19:48:16", "url": "https://files.pythonhosted.org/packages/3f/c4/3f8bc47e44c7d3def2784b5a1f505b049b651c3d82c933cdb60d690f01b2/ng.adapter-0.1.9.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1ad2a9e15e9ffd6598b8f0552b9ba4a6", "sha256": "399b78a204899b9914cb108edaa7399804eec36abf091c39f484d151a1eb72e3" }, "downloads": -1, "filename": "ng.adapter-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1ad2a9e15e9ffd6598b8f0552b9ba4a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34778, "upload_time": "2009-02-11T23:16:36", "url": "https://files.pythonhosted.org/packages/41/e2/c3d6f002387b76d62049e269d94bc7b98526072ec4703809e9b9fa746629/ng.adapter-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5a4ba550a6a254e87714b4cdb9c3b7d6", "sha256": "219221b8c349abef7193e944ab2c0ff2dd91f0329e5c9502befb1598725bfe7b" }, "downloads": -1, "filename": "ng.adapter-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5a4ba550a6a254e87714b4cdb9c3b7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35533, "upload_time": "2009-07-12T13:11:46", "url": "https://files.pythonhosted.org/packages/9e/e2/92f548721d2b7838bc701f570f32161cc3bdacee6dc5e4bc9afb0e22f364/ng.adapter-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a4ba550a6a254e87714b4cdb9c3b7d6", "sha256": "219221b8c349abef7193e944ab2c0ff2dd91f0329e5c9502befb1598725bfe7b" }, "downloads": -1, "filename": "ng.adapter-0.2.1.tar.gz", "has_sig": false, "md5_digest": "5a4ba550a6a254e87714b4cdb9c3b7d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35533, "upload_time": "2009-07-12T13:11:46", "url": "https://files.pythonhosted.org/packages/9e/e2/92f548721d2b7838bc701f570f32161cc3bdacee6dc5e4bc9afb0e22f364/ng.adapter-0.2.1.tar.gz" } ] }