{ "info": { "author": "F. Oliver Gathmann", "author_email": "gathmann@ocelerate.org", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python" ], "description": "repoze.bfg.traversaladapter\r\n===========================\r\n\r\nAn alternate implementation of the\r\n``repoze.bfg.interfaces.ITraverserFactory`` (a \"traverser\") which\r\nallows you to register an adapter factory for the type or interface(s) of\r\nobjects encountered during traversal. This is a generalization of the\r\n``repoze.bfg.traversalwrapper`` package which automatically wraps each\r\ntraversed object into a location-aware proxy.\r\n\r\nTo enable this custom traverser factory, you need to add a dependency on\r\n``repoze.bfg.traversaladapter`` to your application and replace the default\r\ntraverser factory in the ``configure.zcml`` configuration file like this: ::\r\n\r\n \r\n\r\nGiven a simple factory for adapters for a model class ``mymodule.Foo``\r\ndefined in the module ``mymodule`` like this ::\r\n\r\n def foo_factory(foo, parent, name):\r\n return FooAdapter(foo, parent, name)\r\n\r\nyou could then register ``foo_factory`` as a traversal adapter factory as\r\nfollows: ::\r\n\r\n \r\n\r\nIf ``Foo`` was implementing the interface ``mymodule.IFoo``, the following\r\nregistration would also work: ::\r\n\r\n \r\n\r\nDuring traversal of your ``repoze.bfg`` application, each object of type\r\n``Foo`` will then automatically be wrapped in a ``FooAdapter`` instance.\r\n\r\nNote that the registered factory always gets the current model object, its\r\nparent and its name passed as arguments. If your ``FooAdapter`` class was set\r\nup to receive a ``Foo`` instance, a parent object, and a name string in its\r\nconstructor like so ::\r\n\r\n class FooAdapter(object):\r\n def __init__(self, foo, parent, name):\r\n self.foo = foo\r\n self.parent = parent\r\n self.name = name\r\n\r\nyou could register the adapter class itself as the adapter factory.\r\n\r\nSee the ``repoze.bfg.traversaladapter.tests.TraversalAdapterTests``\r\nmodule for further examples.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/repoze.bfg.traversaladapter", "keywords": "bfg repoze.bfg traverser traversal adapter", "license": "BSD-derived (http://www.repoze.org/LICENSE.txt)", "maintainer": "", "maintainer_email": "", "name": "repoze.bfg.traversaladapter", "package_url": "https://pypi.org/project/repoze.bfg.traversaladapter/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/repoze.bfg.traversaladapter/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/repoze.bfg.traversaladapter" }, "release_url": "https://pypi.org/project/repoze.bfg.traversaladapter/0.1/", "requires_dist": null, "requires_python": null, "summary": "Alternative model graph traverser for the repoze.bfg web framework which allows registering arbitrary adapters for the type or interface of model objects encountered during traversal.", "version": "0.1" }, "last_serial": 798799, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "093c2fef4097d9145341f6895d29c79e", "sha256": "5b9d78f4aee64eae46424d26e3f55ef476a9f6f2924fd01602e569b428716f48" }, "downloads": -1, "filename": "repoze.bfg.traversaladapter-0.1.tar.gz", "has_sig": false, "md5_digest": "093c2fef4097d9145341f6895d29c79e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5871, "upload_time": "2009-12-01T08:52:24", "url": "https://files.pythonhosted.org/packages/68/f9/ea3e67dcf4d0f10bf49c2a632d7eb649ca26fae6c6e5d3e5ca6d971be109/repoze.bfg.traversaladapter-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "093c2fef4097d9145341f6895d29c79e", "sha256": "5b9d78f4aee64eae46424d26e3f55ef476a9f6f2924fd01602e569b428716f48" }, "downloads": -1, "filename": "repoze.bfg.traversaladapter-0.1.tar.gz", "has_sig": false, "md5_digest": "093c2fef4097d9145341f6895d29c79e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5871, "upload_time": "2009-12-01T08:52:24", "url": "https://files.pythonhosted.org/packages/68/f9/ea3e67dcf4d0f10bf49c2a632d7eb649ca26fae6c6e5d3e5ca6d971be109/repoze.bfg.traversaladapter-0.1.tar.gz" } ] }