{ "info": { "author": "Yaal", "author_email": "contact@yaal.fr", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "Readonly Storage\n================\n\nA simple read-only wrapper around a regular [ZODB](https://github.com/zopefoundation/ZODB) storage.\n\n```python\nimport ZODB\n\n# Let's set a read-write DemoStorage\nrw_storage = ZODB.DemoStorage.DemoStorage()\nrw_db = ZODB.DB(rw_storage)\n\n# And now, let's set a ReadOnlyStorage around it.\nro_storage = readonlystorage.ReadOnlyStorage(rw_storage)\nro_db = ZODB.DB(ro_storage)\n\n# Now, add some data\nrw_conn = rw_db.open()\nrw_conn.root()[\"foo\"] = \"bar\"\nrw_conn.transaction_manager.commit()\nrw_conn.close()\n\n# Read the data\nro_conn = ro_db.open()\nassert \"bar\" == ro_conn.root()[\"foo\"]\n\nro_conn.root()[\"foo\"] = \"anything\"\nro_conn.transaction_manager.commit() # This one would emit a ZODB.POSException.ReadOnlyError!\n\nro_conn.close()\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/yaal/readonlystorage", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "readonlystorage", "package_url": "https://pypi.org/project/readonlystorage/", "platform": "", "project_url": "https://pypi.org/project/readonlystorage/", "project_urls": { "Homepage": "https://gitlab.com/yaal/readonlystorage" }, "release_url": "https://pypi.org/project/readonlystorage/0.0.1/", "requires_dist": [ "ZODB" ], "requires_python": "", "summary": "A readonly wrapper around a ZODB storage", "version": "0.0.1" }, "last_serial": 4599501, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5aae3c29378d043c636137967f61e2b3", "sha256": "be17559b582d0477bf75204edab90da22057ce80dab0133b067680be454d8f8e" }, "downloads": -1, "filename": "readonlystorage-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5aae3c29378d043c636137967f61e2b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3819, "upload_time": "2018-12-14T14:11:15", "url": "https://files.pythonhosted.org/packages/64/9b/8d5543197190dbf85fb9086425c66555f0bf097bb028714f8db4f000607d/readonlystorage-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39f5d95413e9df957723c65f1b9c90e2", "sha256": "faa7d1072c6b39733cb9b719719f030374345eab1556f563e136ab35d1d971dd" }, "downloads": -1, "filename": "readonlystorage-0.0.1.tar.gz", "has_sig": false, "md5_digest": "39f5d95413e9df957723c65f1b9c90e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2213, "upload_time": "2018-12-14T14:11:17", "url": "https://files.pythonhosted.org/packages/46/c8/c026a1b7d68d42363266910d0012c7a75fb4b0b601a8d2dc3fa2013e97bf/readonlystorage-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5aae3c29378d043c636137967f61e2b3", "sha256": "be17559b582d0477bf75204edab90da22057ce80dab0133b067680be454d8f8e" }, "downloads": -1, "filename": "readonlystorage-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5aae3c29378d043c636137967f61e2b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3819, "upload_time": "2018-12-14T14:11:15", "url": "https://files.pythonhosted.org/packages/64/9b/8d5543197190dbf85fb9086425c66555f0bf097bb028714f8db4f000607d/readonlystorage-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "39f5d95413e9df957723c65f1b9c90e2", "sha256": "faa7d1072c6b39733cb9b719719f030374345eab1556f563e136ab35d1d971dd" }, "downloads": -1, "filename": "readonlystorage-0.0.1.tar.gz", "has_sig": false, "md5_digest": "39f5d95413e9df957723c65f1b9c90e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2213, "upload_time": "2018-12-14T14:11:17", "url": "https://files.pythonhosted.org/packages/46/c8/c026a1b7d68d42363266910d0012c7a75fb4b0b601a8d2dc3fa2013e97bf/readonlystorage-0.0.1.tar.gz" } ] }