{"action":"created","comment":{"url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/comments/29461701","id":29461701,"diff_hunk":"@@ -94,10 +94,12 @@ class BaseCache(object):\n     API or a superset of it.\n \n     :param default_timeout: the default timeout (in seconds) that is used if no\n-                            timeout is specified on :meth:`set`.\n+                            timeout is specified on :meth:`set`. A timeout of 0\n+                            indicates that the cache never expires.\n     \"\"\"\n \n     def __init__(self, default_timeout=300):\n+        # Need additional handling for when default_timeout is None or Negative","path":"werkzeug/contrib/cache.py","position":10,"original_position":10,"commit_id":"a678eeb05f667c81a3d4b42fee504b40329ef6a6","original_commit_id":"a678eeb05f667c81a3d4b42fee504b40329ef6a6","user":{"login":"untitaker","id":837573,"avatar_url":"https://avatars.githubusercontent.com/u/837573?v=3","gravatar_id":"","url":"https://api.github.com/users/untitaker","html_url":"https://github.com/untitaker","followers_url":"https://api.github.com/users/untitaker/followers","following_url":"https://api.github.com/users/untitaker/following{/other_user}","gists_url":"https://api.github.com/users/untitaker/gists{/gist_id}","starred_url":"https://api.github.com/users/untitaker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/untitaker/subscriptions","organizations_url":"https://api.github.com/users/untitaker/orgs","repos_url":"https://api.github.com/users/untitaker/repos","events_url":"https://api.github.com/users/untitaker/events{/privacy}","received_events_url":"https://api.github.com/users/untitaker/received_events","type":"User","site_admin":false},"body":"What about this?","created_at":"2015-04-30T19:26:34Z","updated_at":"2015-04-30T19:26:34Z","html_url":"https://github.com/mitsuhiko/werkzeug/pull/725#discussion_r29461701","pull_request_url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725","_links":{"self":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/comments/29461701"},"html":{"href":"https://github.com/mitsuhiko/werkzeug/pull/725#discussion_r29461701"},"pull_request":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725"}}},"pull_request":{"url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725","id":33126133,"html_url":"https://github.com/mitsuhiko/werkzeug/pull/725","diff_url":"https://github.com/mitsuhiko/werkzeug/pull/725.diff","patch_url":"https://github.com/mitsuhiko/werkzeug/pull/725.patch","issue_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/725","number":725,"state":"open","locked":false,"title":"Change to cache expiration","user":{"login":"thirty3","id":3923816,"avatar_url":"https://avatars.githubusercontent.com/u/3923816?v=3","gravatar_id":"","url":"https://api.github.com/users/thirty3","html_url":"https://github.com/thirty3","followers_url":"https://api.github.com/users/thirty3/followers","following_url":"https://api.github.com/users/thirty3/following{/other_user}","gists_url":"https://api.github.com/users/thirty3/gists{/gist_id}","starred_url":"https://api.github.com/users/thirty3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thirty3/subscriptions","organizations_url":"https://api.github.com/users/thirty3/orgs","repos_url":"https://api.github.com/users/thirty3/repos","events_url":"https://api.github.com/users/thirty3/events{/privacy}","received_events_url":"https://api.github.com/users/thirty3/received_events","type":"User","site_admin":false},"body":"I made these changes in response to a stackoverflow question where a user wanted to be able to have a non expiring cache: http://stackoverflow.com/questions/29561011/how-to-disable-memcached-timeout-in-werkzeug\r\n\r\nIn the process I also fixed a potential Redis bug that was highlighted in issue #550 \r\n","created_at":"2015-04-12T20:44:00Z","updated_at":"2015-04-30T19:26:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b7c7afbd19da724975bc8f2ab5d88e28d6195580","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725/commits","review_comments_url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725/comments","review_comment_url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/725/comments","statuses_url":"https://api.github.com/repos/mitsuhiko/werkzeug/statuses/a678eeb05f667c81a3d4b42fee504b40329ef6a6","head":{"label":"thirty3:master","ref":"master","sha":"a678eeb05f667c81a3d4b42fee504b40329ef6a6","user":{"login":"thirty3","id":3923816,"avatar_url":"https://avatars.githubusercontent.com/u/3923816?v=3","gravatar_id":"","url":"https://api.github.com/users/thirty3","html_url":"https://github.com/thirty3","followers_url":"https://api.github.com/users/thirty3/followers","following_url":"https://api.github.com/users/thirty3/following{/other_user}","gists_url":"https://api.github.com/users/thirty3/gists{/gist_id}","starred_url":"https://api.github.com/users/thirty3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thirty3/subscriptions","organizations_url":"https://api.github.com/users/thirty3/orgs","repos_url":"https://api.github.com/users/thirty3/repos","events_url":"https://api.github.com/users/thirty3/events{/privacy}","received_events_url":"https://api.github.com/users/thirty3/received_events","type":"User","site_admin":false},"repo":{"id":33740065,"name":"werkzeug","full_name":"thirty3/werkzeug","owner":{"login":"thirty3","id":3923816,"avatar_url":"https://avatars.githubusercontent.com/u/3923816?v=3","gravatar_id":"","url":"https://api.github.com/users/thirty3","html_url":"https://github.com/thirty3","followers_url":"https://api.github.com/users/thirty3/followers","following_url":"https://api.github.com/users/thirty3/following{/other_user}","gists_url":"https://api.github.com/users/thirty3/gists{/gist_id}","starred_url":"https://api.github.com/users/thirty3/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thirty3/subscriptions","organizations_url":"https://api.github.com/users/thirty3/orgs","repos_url":"https://api.github.com/users/thirty3/repos","events_url":"https://api.github.com/users/thirty3/events{/privacy}","received_events_url":"https://api.github.com/users/thirty3/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/thirty3/werkzeug","description":"A flexible WSGI implementation and toolkit","fork":true,"url":"https://api.github.com/repos/thirty3/werkzeug","forks_url":"https://api.github.com/repos/thirty3/werkzeug/forks","keys_url":"https://api.github.com/repos/thirty3/werkzeug/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thirty3/werkzeug/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thirty3/werkzeug/teams","hooks_url":"https://api.github.com/repos/thirty3/werkzeug/hooks","issue_events_url":"https://api.github.com/repos/thirty3/werkzeug/issues/events{/number}","events_url":"https://api.github.com/repos/thirty3/werkzeug/events","assignees_url":"https://api.github.com/repos/thirty3/werkzeug/assignees{/user}","branches_url":"https://api.github.com/repos/thirty3/werkzeug/branches{/branch}","tags_url":"https://api.github.com/repos/thirty3/werkzeug/tags","blobs_url":"https://api.github.com/repos/thirty3/werkzeug/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thirty3/werkzeug/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thirty3/werkzeug/git/refs{/sha}","trees_url":"https://api.github.com/repos/thirty3/werkzeug/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thirty3/werkzeug/statuses/{sha}","languages_url":"https://api.github.com/repos/thirty3/werkzeug/languages","stargazers_url":"https://api.github.com/repos/thirty3/werkzeug/stargazers","contributors_url":"https://api.github.com/repos/thirty3/werkzeug/contributors","subscribers_url":"https://api.github.com/repos/thirty3/werkzeug/subscribers","subscription_url":"https://api.github.com/repos/thirty3/werkzeug/subscription","commits_url":"https://api.github.com/repos/thirty3/werkzeug/commits{/sha}","git_commits_url":"https://api.github.com/repos/thirty3/werkzeug/git/commits{/sha}","comments_url":"https://api.github.com/repos/thirty3/werkzeug/comments{/number}","issue_comment_url":"https://api.github.com/repos/thirty3/werkzeug/issues/comments{/number}","contents_url":"https://api.github.com/repos/thirty3/werkzeug/contents/{+path}","compare_url":"https://api.github.com/repos/thirty3/werkzeug/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thirty3/werkzeug/merges","archive_url":"https://api.github.com/repos/thirty3/werkzeug/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thirty3/werkzeug/downloads","issues_url":"https://api.github.com/repos/thirty3/werkzeug/issues{/number}","pulls_url":"https://api.github.com/repos/thirty3/werkzeug/pulls{/number}","milestones_url":"https://api.github.com/repos/thirty3/werkzeug/milestones{/number}","notifications_url":"https://api.github.com/repos/thirty3/werkzeug/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thirty3/werkzeug/labels{/name}","releases_url":"https://api.github.com/repos/thirty3/werkzeug/releases{/id}","created_at":"2015-04-10T16:59:41Z","updated_at":"2015-04-30T17:15:35Z","pushed_at":"2015-04-30T17:16:27Z","git_url":"git://github.com/thirty3/werkzeug.git","ssh_url":"git@github.com:thirty3/werkzeug.git","clone_url":"https://github.com/thirty3/werkzeug.git","svn_url":"https://github.com/thirty3/werkzeug","homepage":"http://werkzeug.pocoo.org/","size":12358,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mitsuhiko:master","ref":"master","sha":"11244bc3999858e683d086428cf5d51bb911c898","user":{"login":"mitsuhiko","id":7396,"avatar_url":"https://avatars.githubusercontent.com/u/7396?v=3","gravatar_id":"","url":"https://api.github.com/users/mitsuhiko","html_url":"https://github.com/mitsuhiko","followers_url":"https://api.github.com/users/mitsuhiko/followers","following_url":"https://api.github.com/users/mitsuhiko/following{/other_user}","gists_url":"https://api.github.com/users/mitsuhiko/gists{/gist_id}","starred_url":"https://api.github.com/users/mitsuhiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitsuhiko/subscriptions","organizations_url":"https://api.github.com/users/mitsuhiko/orgs","repos_url":"https://api.github.com/users/mitsuhiko/repos","events_url":"https://api.github.com/users/mitsuhiko/events{/privacy}","received_events_url":"https://api.github.com/users/mitsuhiko/received_events","type":"User","site_admin":false},"repo":{"id":997338,"name":"werkzeug","full_name":"mitsuhiko/werkzeug","owner":{"login":"mitsuhiko","id":7396,"avatar_url":"https://avatars.githubusercontent.com/u/7396?v=3","gravatar_id":"","url":"https://api.github.com/users/mitsuhiko","html_url":"https://github.com/mitsuhiko","followers_url":"https://api.github.com/users/mitsuhiko/followers","following_url":"https://api.github.com/users/mitsuhiko/following{/other_user}","gists_url":"https://api.github.com/users/mitsuhiko/gists{/gist_id}","starred_url":"https://api.github.com/users/mitsuhiko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mitsuhiko/subscriptions","organizations_url":"https://api.github.com/users/mitsuhiko/orgs","repos_url":"https://api.github.com/users/mitsuhiko/repos","events_url":"https://api.github.com/users/mitsuhiko/events{/privacy}","received_events_url":"https://api.github.com/users/mitsuhiko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mitsuhiko/werkzeug","description":"A flexible WSGI implementation and toolkit","fork":false,"url":"https://api.github.com/repos/mitsuhiko/werkzeug","forks_url":"https://api.github.com/repos/mitsuhiko/werkzeug/forks","keys_url":"https://api.github.com/repos/mitsuhiko/werkzeug/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mitsuhiko/werkzeug/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mitsuhiko/werkzeug/teams","hooks_url":"https://api.github.com/repos/mitsuhiko/werkzeug/hooks","issue_events_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/events{/number}","events_url":"https://api.github.com/repos/mitsuhiko/werkzeug/events","assignees_url":"https://api.github.com/repos/mitsuhiko/werkzeug/assignees{/user}","branches_url":"https://api.github.com/repos/mitsuhiko/werkzeug/branches{/branch}","tags_url":"https://api.github.com/repos/mitsuhiko/werkzeug/tags","blobs_url":"https://api.github.com/repos/mitsuhiko/werkzeug/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mitsuhiko/werkzeug/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mitsuhiko/werkzeug/git/refs{/sha}","trees_url":"https://api.github.com/repos/mitsuhiko/werkzeug/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mitsuhiko/werkzeug/statuses/{sha}","languages_url":"https://api.github.com/repos/mitsuhiko/werkzeug/languages","stargazers_url":"https://api.github.com/repos/mitsuhiko/werkzeug/stargazers","contributors_url":"https://api.github.com/repos/mitsuhiko/werkzeug/contributors","subscribers_url":"https://api.github.com/repos/mitsuhiko/werkzeug/subscribers","subscription_url":"https://api.github.com/repos/mitsuhiko/werkzeug/subscription","commits_url":"https://api.github.com/repos/mitsuhiko/werkzeug/commits{/sha}","git_commits_url":"https://api.github.com/repos/mitsuhiko/werkzeug/git/commits{/sha}","comments_url":"https://api.github.com/repos/mitsuhiko/werkzeug/comments{/number}","issue_comment_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/comments{/number}","contents_url":"https://api.github.com/repos/mitsuhiko/werkzeug/contents/{+path}","compare_url":"https://api.github.com/repos/mitsuhiko/werkzeug/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mitsuhiko/werkzeug/merges","archive_url":"https://api.github.com/repos/mitsuhiko/werkzeug/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mitsuhiko/werkzeug/downloads","issues_url":"https://api.github.com/repos/mitsuhiko/werkzeug/issues{/number}","pulls_url":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls{/number}","milestones_url":"https://api.github.com/repos/mitsuhiko/werkzeug/milestones{/number}","notifications_url":"https://api.github.com/repos/mitsuhiko/werkzeug/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mitsuhiko/werkzeug/labels{/name}","releases_url":"https://api.github.com/repos/mitsuhiko/werkzeug/releases{/id}","created_at":"2010-10-18T11:42:40Z","updated_at":"2015-04-30T08:02:59Z","pushed_at":"2015-04-30T17:15:35Z","git_url":"git://github.com/mitsuhiko/werkzeug.git","ssh_url":"git@github.com:mitsuhiko/werkzeug.git","clone_url":"https://github.com/mitsuhiko/werkzeug.git","svn_url":"https://github.com/mitsuhiko/werkzeug","homepage":"http://werkzeug.pocoo.org/","size":17067,"stargazers_count":1884,"watchers_count":1884,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":556,"mirror_url":null,"open_issues_count":109,"forks":556,"open_issues":109,"watchers":1884,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725"},"html":{"href":"https://github.com/mitsuhiko/werkzeug/pull/725"},"issue":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/725"},"comments":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/issues/725/comments"},"review_comments":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725/comments"},"review_comment":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/pulls/725/commits"},"statuses":{"href":"https://api.github.com/repos/mitsuhiko/werkzeug/statuses/a678eeb05f667c81a3d4b42fee504b40329ef6a6"}}}}