{ "info": { "author": "Chris Dent", "author_email": "cdent@peermore.com", "bugtrack_url": null, "classifiers": [], "description": "This is a plugin for TiddlyWeb that creates a cache of ETags.\n\nIt uses the memcached handling provided by tiddlywebplugins.caching.\n\nCache invalidation is handled via store hooks and this trick:\nhttp://code.google.com/p/memcached/wiki/FAQ#Deleting_by_Namespace\n\nNote the test files are not good tests, there were used to structure\ndevelopment but do not adequately assert anything.\n\nThe plugins keeps a cache of ETags so we don't need to access the store\nto do validation.\n \nThis operates as a two tiered piece of middleware.\n\nOn the request side it checks if the request is a GET and if it includes\nan If-None-Match header. If it does it looks up the current URI in the\ncache and compares the value with what's in the If-Match header. If they\nare the same we can raise a 304 right now.\n\nOn the response side, if the current request is a GET and the outgoing\nresponse has an ETag, put the current URI and ETag into the cache.\n\nStore HOOKs are used to invalidate the cache through the management of\nnamespaces.\n\nInstallation is simply adding the plugin name to system_plugins and\ntwanager_plugins in tiddlywebconfig.py\n\nLicensed as TiddlyWeb itself.\nCopyright 2011, Chris Dent ", "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/tiddlywebplugins.etagcache", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "tiddlywebplugins.etagcache", "package_url": "https://pypi.org/project/tiddlywebplugins.etagcache/", "platform": "Posix; MacOS X; Windows", "project_url": "https://pypi.org/project/tiddlywebplugins.etagcache/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/tiddlywebplugins.etagcache" }, "release_url": "https://pypi.org/project/tiddlywebplugins.etagcache/0.10.0/", "requires_dist": null, "requires_python": null, "summary": "Cache TiddlyWeb ETags so that a 304 can be sent without checking store", "version": "0.10.0" }, "last_serial": 858835, "releases": { "0.10.0": [ { "comment_text": "", "digests": { "md5": "7a43627f372e58fedd2f337178b66ed0", "sha256": "6880a8c563c981b92b9d75e997f4d1507c387311dcb57151f9de0588d7c19d64" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.10.0.tar.gz", "has_sig": false, "md5_digest": "7a43627f372e58fedd2f337178b66ed0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13001, "upload_time": "2013-06-04T14:19:31", "url": "https://files.pythonhosted.org/packages/63/ea/9ca086d54760eb1a273f70ebd75d44b319bea351f226d6d7b7b83cdb55bf/tiddlywebplugins.etagcache-0.10.0.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "05932a81855e8dfce7014b15b1da6cff", "sha256": "52af07e4e0f3ecfe9bf92f61cbacc5ef83763df8f6051f06be422768c4e964b2" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.2.tar.gz", "has_sig": false, "md5_digest": "05932a81855e8dfce7014b15b1da6cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8305, "upload_time": "2011-02-04T15:22:27", "url": "https://files.pythonhosted.org/packages/3d/3a/f1cb054a57b5c8fe9a96313765ba34f6c57651cdaa1f8b83aaf1aaff3457/tiddlywebplugins.etagcache-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "9a5c22e7b0e52d2bd356effa7b28af2a", "sha256": "50646c78a8199df005138272f57e66b2677dd54d79408e8846bfbe9279a89f85" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.3.tar.gz", "has_sig": false, "md5_digest": "9a5c22e7b0e52d2bd356effa7b28af2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7856, "upload_time": "2011-02-18T15:09:21", "url": "https://files.pythonhosted.org/packages/2d/c5/a642389e16604509ca05f37acd926adbd36f444e525aec5f7b3a8910a86b/tiddlywebplugins.etagcache-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "c79692109721e677c8d7ed0e1540da6b", "sha256": "2b5ab286bdae17b94dc88fcbeeee27c0213a12194b0977d71f42fe58d285e485" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.4.tar.gz", "has_sig": false, "md5_digest": "c79692109721e677c8d7ed0e1540da6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8035, "upload_time": "2011-05-15T17:28:25", "url": "https://files.pythonhosted.org/packages/e0/6d/462e20e8e44177c092c575fef14ba02c200717bed9493c974fc7aa025bbb/tiddlywebplugins.etagcache-0.4.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "ba44e3f4bdbff54d4a6c1c1b26bcb048", "sha256": "dbd6114cec4e2f3c2e9f525f015e33775300332771ea98f4c8a54a26c1749ce2" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.6.tar.gz", "has_sig": false, "md5_digest": "ba44e3f4bdbff54d4a6c1c1b26bcb048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7983, "upload_time": "2011-05-16T16:53:25", "url": "https://files.pythonhosted.org/packages/f3/d4/073befdfe74ed03358507de3eeb0c2c9e145088aabc38b1bb7c6c9ced22c/tiddlywebplugins.etagcache-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "4f95bebe58e9e5b5393609e2180140cf", "sha256": "490130596e4059a3129be716e54a068ea47541fc3d7b330d6f752bd89ce419e9" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.7.tar.gz", "has_sig": false, "md5_digest": "4f95bebe58e9e5b5393609e2180140cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10702, "upload_time": "2011-12-18T18:43:12", "url": "https://files.pythonhosted.org/packages/a7/48/db370d89c517582bcf11b8ed262d7d20a14e35a17033767caa708e65933c/tiddlywebplugins.etagcache-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "830b5ad4126db0c3cd6f870a946dd295", "sha256": "86a4111abde148d64d4ee22fb460445b3c0a948f22cca6370264cd7d5d96af0a" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.8.tar.gz", "has_sig": false, "md5_digest": "830b5ad4126db0c3cd6f870a946dd295", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10625, "upload_time": "2012-12-13T22:54:06", "url": "https://files.pythonhosted.org/packages/84/dc/ee91f98e770781bf3ab987b48fca6d5a341f145df2a121d95e9ec8c6bd83/tiddlywebplugins.etagcache-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "eee1b22c8cebb2f228ebdbd2da7d049b", "sha256": "db9be176525baee9cd51533045b83791f32886ab7abcff66b0dfbf8da5800819" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.9.tar.gz", "has_sig": false, "md5_digest": "eee1b22c8cebb2f228ebdbd2da7d049b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10623, "upload_time": "2013-01-29T15:55:29", "url": "https://files.pythonhosted.org/packages/35/4e/1e9d56001bf60b1ba9a8c7ad3b242dde90f9225f8744e748c8fcb255fcba/tiddlywebplugins.etagcache-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7a43627f372e58fedd2f337178b66ed0", "sha256": "6880a8c563c981b92b9d75e997f4d1507c387311dcb57151f9de0588d7c19d64" }, "downloads": -1, "filename": "tiddlywebplugins.etagcache-0.10.0.tar.gz", "has_sig": false, "md5_digest": "7a43627f372e58fedd2f337178b66ed0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13001, "upload_time": "2013-06-04T14:19:31", "url": "https://files.pythonhosted.org/packages/63/ea/9ca086d54760eb1a273f70ebd75d44b319bea351f226d6d7b7b83cdb55bf/tiddlywebplugins.etagcache-0.10.0.tar.gz" } ] }