{ "info": { "author": "Souheil Chelfouh", "author_email": "trollfot@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Zope3", "Intended Audience :: Other Audience", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "=============\ndolmen.beaker\n=============\n\nSession\n=======\n\nConfiguration\n-------------\n\n >>> from zope.component import getUtility, queryUtility\n >>> from dolmen.beaker.interfaces import ISessionConfig\n\n >>> session_config = queryUtility(ISessionConfig)\n >>> session_config.get('key')\n 'beaker.session.id' \n\n\nInitialisation\n--------------\n\n``dolmen.beaker`` initialize the beaker session when the traversing\nstarts (traversing the IRootFolder object)::\n\n >>> from zope.event import notify\n >>> import grokcore.component as grok\n >>> from zope.publisher.browser import TestRequest\n >>> from zope.publisher.interfaces.http import IHTTPRequest\n >>> from zope.traversing.interfaces import BeforeTraverseEvent\n\nFirst we create an instance of the Request::\n\n >>> request = TestRequest()\n >>> IHTTPRequest.providedBy(request)\n True\n\nWe initalize our Session with the help of the BeforeTraverseEvent.\nThis event will make an instance of a Session Object in the Request::\n \n >>> from zope.component.hooks import getSite\n >>> site = getSite()\n >>> notify(BeforeTraverseEvent(site, request))\n\nWe can get the session object using two available adapters::\n\n >>> from dolmen.beaker.interfaces import ISession\n >>> session = ISession(request)\n >>> session.__class__\n \n\nLet's assign an value to our session and save it::\n\n >>> session['foo'] = 'bar'\n >>> session.save()\n >>> session['foo']\n 'bar'\n\nA new request will not have access to the session without traversing::\n\n >>> newrequest = TestRequest()\n >>> newrequest.response._cookies\n {}\n\n >>> session = ISession(newrequest)\n >>> session['foo']\n Traceback (most recent call last):\n ...\n KeyError: 'foo'\n\n\nclosure and invalidation\n------------------------\n\n >>> cookie = request.response._cookies \n >>> cookie\n {}\n\n >>> from zope.publisher.interfaces import EndRequestEvent\n >>> notify(EndRequestEvent(site, request))\n\n >>> cookie = request.response._cookies \n >>> cookie\n {'beaker.session.id': {'path': '/', 'value': '...'}}\n\nInvalidating\n------------\n\n >>> session = ISession(request)\n >>> print session['foo']\n bar\n >>> session.invalidate() # Or destroy, to get rid of everything\n >>> session['foo']\n Traceback (most recent call last):\n ...\n KeyError: 'foo'\n\n >>> print session\n {'_id': '...'}\n\n\nThe Zope Session adapter\n========================\n\n >>> from zope.session.interfaces import ISession as IZopeSession\n\n >>> request = TestRequest()\n >>> notify(BeforeTraverseEvent(site, request))\n\n >>> zsession = IZopeSession(request)\n >>> print zsession\n \n\n >>> from zope.interface.verify import verifyObject\n >>> verifyObject(IZopeSession, zsession)\n True\n\n >>> data = zsession['my_package']\n >>> print data\n \n\n >>> data['someitem'] = 'test'\n >>> print data['someitem']\n test\n\n >>> print zsession.keys()\n ['my_package.someitem', '_id']\n\n >>> data = zsession['some.other.package']\n >>> data['info'] = 'Grok !'\n\n >>> print zsession.keys()\n ['my_package.someitem', '_id', 'some.other.package.info']\n\nChangelog\n=========\n\n0.1 (2010-07-01)\n----------------\n\n- Initial 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.dolmen-project.org", "keywords": "Zope3 Session,Grok Dolmen", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "dolmen.beaker", "package_url": "https://pypi.org/project/dolmen.beaker/", "platform": "Any", "project_url": "https://pypi.org/project/dolmen.beaker/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.dolmen-project.org" }, "release_url": "https://pypi.org/project/dolmen.beaker/0.1/", "requires_dist": null, "requires_python": null, "summary": "An implementation of a zope session, using beaker.", "version": "0.1" }, "last_serial": 791326, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "f3098f8b5d99afa768253a21c3b95c3e", "sha256": "17ca2f94130640cf69ae17558910a24e3b2f40b2685f4f4b89b09d2ca299ae45" }, "downloads": -1, "filename": "dolmen.beaker-0.1.tar.gz", "has_sig": false, "md5_digest": "f3098f8b5d99afa768253a21c3b95c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6032, "upload_time": "2010-07-01T16:12:48", "url": "https://files.pythonhosted.org/packages/22/0b/18e92cc9863fd98d9b6b8528d307dbfbaaf1c4c4f125ab95493e15333c22/dolmen.beaker-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f3098f8b5d99afa768253a21c3b95c3e", "sha256": "17ca2f94130640cf69ae17558910a24e3b2f40b2685f4f4b89b09d2ca299ae45" }, "downloads": -1, "filename": "dolmen.beaker-0.1.tar.gz", "has_sig": false, "md5_digest": "f3098f8b5d99afa768253a21c3b95c3e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6032, "upload_time": "2010-07-01T16:12:48", "url": "https://files.pythonhosted.org/packages/22/0b/18e92cc9863fd98d9b6b8528d307dbfbaaf1c4c4f125ab95493e15333c22/dolmen.beaker-0.1.tar.gz" } ] }