{"action":"created","comment":{"url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/comments/61235236","id":61235236,"diff_hunk":"@@ -117,15 +142,29 @@ def _human_week_day(day):\n \n \n def _ordinal(n):\n-    if 10 <= (n % 100) < 20:\n-        suffix = 'th'\n+    \"\"\"\n+    Cron-tab to numeric day\n+    \"\"\"\n+    if isinstance(n, tuple):\n+        n = n\n     else:\n-        suffix = _ORDINAL_SUFFIXES.get(n % 10, 'th')\n+        n = (n,)\n+\n+    ordinal_days = []\n+    for d in n:\n+        if 10 <= (d % 100) < 20:\n+            suffix = 'th'\n+        else:\n+            suffix = _ORDINAL_SUFFIXES.get(d % 10, 'th')\n+        ordinal_days.append(str(d) + suffix)\n \n-    return str(n) + suffix\n+    return _human_list(ordinal_days)\n \n \n def _pretty_time(minute, hour):\n+    \"\"\"\n+    Cron-tab to time","path":"pretty_cron/api.py","position":97,"original_position":106,"commit_id":"e8e1b4c7d8862009808ade81ba7b4fe9a74593cf","original_commit_id":"7bc465aa8ff19aaab5fb7ae512fff8e0cde04c35","user":{"login":"adamchainz","id":857609,"avatar_url":"https://avatars.githubusercontent.com/u/857609?v=3","gravatar_id":"","url":"https://api.github.com/users/adamchainz","html_url":"https://github.com/adamchainz","followers_url":"https://api.github.com/users/adamchainz/followers","following_url":"https://api.github.com/users/adamchainz/following{/other_user}","gists_url":"https://api.github.com/users/adamchainz/gists{/gist_id}","starred_url":"https://api.github.com/users/adamchainz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamchainz/subscriptions","organizations_url":"https://api.github.com/users/adamchainz/orgs","repos_url":"https://api.github.com/users/adamchainz/repos","events_url":"https://api.github.com/users/adamchainz/events{/privacy}","received_events_url":"https://api.github.com/users/adamchainz/received_events","type":"User","site_admin":false},"body":"ditto","created_at":"2016-04-27T10:26:03Z","updated_at":"2016-04-27T10:26:03Z","html_url":"https://github.com/adamchainz/pretty-cron/pull/15#discussion_r61235236","pull_request_url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15","_links":{"self":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/comments/61235236"},"html":{"href":"https://github.com/adamchainz/pretty-cron/pull/15#discussion_r61235236"},"pull_request":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15"}}},"pull_request":{"url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15","id":68017952,"html_url":"https://github.com/adamchainz/pretty-cron/pull/15","diff_url":"https://github.com/adamchainz/pretty-cron/pull/15.diff","patch_url":"https://github.com/adamchainz/pretty-cron/pull/15.patch","issue_url":"https://api.github.com/repos/adamchainz/pretty-cron/issues/15","number":15,"state":"open","locked":false,"title":"Full support to cron syntax","user":{"login":"jbondia","id":8036317,"avatar_url":"https://avatars.githubusercontent.com/u/8036317?v=3","gravatar_id":"","url":"https://api.github.com/users/jbondia","html_url":"https://github.com/jbondia","followers_url":"https://api.github.com/users/jbondia/followers","following_url":"https://api.github.com/users/jbondia/following{/other_user}","gists_url":"https://api.github.com/users/jbondia/gists{/gist_id}","starred_url":"https://api.github.com/users/jbondia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbondia/subscriptions","organizations_url":"https://api.github.com/users/jbondia/orgs","repos_url":"https://api.github.com/users/jbondia/repos","events_url":"https://api.github.com/users/jbondia/events{/privacy}","received_events_url":"https://api.github.com/users/jbondia/received_events","type":"User","site_admin":false},"body":"Allowing any weekday, month, ordinal days comma separated values.","created_at":"2016-04-27T08:54:45Z","updated_at":"2016-04-27T10:26:03Z","closed_at":null,"merged_at":null,"merge_commit_sha":"231c86c2aab783f2943ad44f1671a8a42ca27e7c","assignee":{"login":"adamchainz","id":857609,"avatar_url":"https://avatars.githubusercontent.com/u/857609?v=3","gravatar_id":"","url":"https://api.github.com/users/adamchainz","html_url":"https://github.com/adamchainz","followers_url":"https://api.github.com/users/adamchainz/followers","following_url":"https://api.github.com/users/adamchainz/following{/other_user}","gists_url":"https://api.github.com/users/adamchainz/gists{/gist_id}","starred_url":"https://api.github.com/users/adamchainz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamchainz/subscriptions","organizations_url":"https://api.github.com/users/adamchainz/orgs","repos_url":"https://api.github.com/users/adamchainz/repos","events_url":"https://api.github.com/users/adamchainz/events{/privacy}","received_events_url":"https://api.github.com/users/adamchainz/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15/commits","review_comments_url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15/comments","review_comment_url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adamchainz/pretty-cron/issues/15/comments","statuses_url":"https://api.github.com/repos/adamchainz/pretty-cron/statuses/e8e1b4c7d8862009808ade81ba7b4fe9a74593cf","head":{"label":"jbondia:master","ref":"master","sha":"e8e1b4c7d8862009808ade81ba7b4fe9a74593cf","user":{"login":"jbondia","id":8036317,"avatar_url":"https://avatars.githubusercontent.com/u/8036317?v=3","gravatar_id":"","url":"https://api.github.com/users/jbondia","html_url":"https://github.com/jbondia","followers_url":"https://api.github.com/users/jbondia/followers","following_url":"https://api.github.com/users/jbondia/following{/other_user}","gists_url":"https://api.github.com/users/jbondia/gists{/gist_id}","starred_url":"https://api.github.com/users/jbondia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbondia/subscriptions","organizations_url":"https://api.github.com/users/jbondia/orgs","repos_url":"https://api.github.com/users/jbondia/repos","events_url":"https://api.github.com/users/jbondia/events{/privacy}","received_events_url":"https://api.github.com/users/jbondia/received_events","type":"User","site_admin":false},"repo":{"id":57113603,"name":"pretty-cron","full_name":"jbondia/pretty-cron","owner":{"login":"jbondia","id":8036317,"avatar_url":"https://avatars.githubusercontent.com/u/8036317?v=3","gravatar_id":"","url":"https://api.github.com/users/jbondia","html_url":"https://github.com/jbondia","followers_url":"https://api.github.com/users/jbondia/followers","following_url":"https://api.github.com/users/jbondia/following{/other_user}","gists_url":"https://api.github.com/users/jbondia/gists{/gist_id}","starred_url":"https://api.github.com/users/jbondia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbondia/subscriptions","organizations_url":"https://api.github.com/users/jbondia/orgs","repos_url":"https://api.github.com/users/jbondia/repos","events_url":"https://api.github.com/users/jbondia/events{/privacy}","received_events_url":"https://api.github.com/users/jbondia/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jbondia/pretty-cron","description":"Converts crontab expressions to human-readable descriptions","fork":true,"url":"https://api.github.com/repos/jbondia/pretty-cron","forks_url":"https://api.github.com/repos/jbondia/pretty-cron/forks","keys_url":"https://api.github.com/repos/jbondia/pretty-cron/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jbondia/pretty-cron/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jbondia/pretty-cron/teams","hooks_url":"https://api.github.com/repos/jbondia/pretty-cron/hooks","issue_events_url":"https://api.github.com/repos/jbondia/pretty-cron/issues/events{/number}","events_url":"https://api.github.com/repos/jbondia/pretty-cron/events","assignees_url":"https://api.github.com/repos/jbondia/pretty-cron/assignees{/user}","branches_url":"https://api.github.com/repos/jbondia/pretty-cron/branches{/branch}","tags_url":"https://api.github.com/repos/jbondia/pretty-cron/tags","blobs_url":"https://api.github.com/repos/jbondia/pretty-cron/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jbondia/pretty-cron/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jbondia/pretty-cron/git/refs{/sha}","trees_url":"https://api.github.com/repos/jbondia/pretty-cron/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jbondia/pretty-cron/statuses/{sha}","languages_url":"https://api.github.com/repos/jbondia/pretty-cron/languages","stargazers_url":"https://api.github.com/repos/jbondia/pretty-cron/stargazers","contributors_url":"https://api.github.com/repos/jbondia/pretty-cron/contributors","subscribers_url":"https://api.github.com/repos/jbondia/pretty-cron/subscribers","subscription_url":"https://api.github.com/repos/jbondia/pretty-cron/subscription","commits_url":"https://api.github.com/repos/jbondia/pretty-cron/commits{/sha}","git_commits_url":"https://api.github.com/repos/jbondia/pretty-cron/git/commits{/sha}","comments_url":"https://api.github.com/repos/jbondia/pretty-cron/comments{/number}","issue_comment_url":"https://api.github.com/repos/jbondia/pretty-cron/issues/comments{/number}","contents_url":"https://api.github.com/repos/jbondia/pretty-cron/contents/{+path}","compare_url":"https://api.github.com/repos/jbondia/pretty-cron/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jbondia/pretty-cron/merges","archive_url":"https://api.github.com/repos/jbondia/pretty-cron/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jbondia/pretty-cron/downloads","issues_url":"https://api.github.com/repos/jbondia/pretty-cron/issues{/number}","pulls_url":"https://api.github.com/repos/jbondia/pretty-cron/pulls{/number}","milestones_url":"https://api.github.com/repos/jbondia/pretty-cron/milestones{/number}","notifications_url":"https://api.github.com/repos/jbondia/pretty-cron/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jbondia/pretty-cron/labels{/name}","releases_url":"https://api.github.com/repos/jbondia/pretty-cron/releases{/id}","deployments_url":"https://api.github.com/repos/jbondia/pretty-cron/deployments","created_at":"2016-04-26T09:02:03Z","updated_at":"2016-04-26T09:02:04Z","pushed_at":"2016-04-27T10:25:51Z","git_url":"git://github.com/jbondia/pretty-cron.git","ssh_url":"git@github.com:jbondia/pretty-cron.git","clone_url":"https://github.com/jbondia/pretty-cron.git","svn_url":"https://github.com/jbondia/pretty-cron","homepage":"","size":28,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"adamchainz:master","ref":"master","sha":"e1b9f421561306165c5cc90e3aaf76f2e1cf6fab","user":{"login":"adamchainz","id":857609,"avatar_url":"https://avatars.githubusercontent.com/u/857609?v=3","gravatar_id":"","url":"https://api.github.com/users/adamchainz","html_url":"https://github.com/adamchainz","followers_url":"https://api.github.com/users/adamchainz/followers","following_url":"https://api.github.com/users/adamchainz/following{/other_user}","gists_url":"https://api.github.com/users/adamchainz/gists{/gist_id}","starred_url":"https://api.github.com/users/adamchainz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamchainz/subscriptions","organizations_url":"https://api.github.com/users/adamchainz/orgs","repos_url":"https://api.github.com/users/adamchainz/repos","events_url":"https://api.github.com/users/adamchainz/events{/privacy}","received_events_url":"https://api.github.com/users/adamchainz/received_events","type":"User","site_admin":false},"repo":{"id":39780739,"name":"pretty-cron","full_name":"adamchainz/pretty-cron","owner":{"login":"adamchainz","id":857609,"avatar_url":"https://avatars.githubusercontent.com/u/857609?v=3","gravatar_id":"","url":"https://api.github.com/users/adamchainz","html_url":"https://github.com/adamchainz","followers_url":"https://api.github.com/users/adamchainz/followers","following_url":"https://api.github.com/users/adamchainz/following{/other_user}","gists_url":"https://api.github.com/users/adamchainz/gists{/gist_id}","starred_url":"https://api.github.com/users/adamchainz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamchainz/subscriptions","organizations_url":"https://api.github.com/users/adamchainz/orgs","repos_url":"https://api.github.com/users/adamchainz/repos","events_url":"https://api.github.com/users/adamchainz/events{/privacy}","received_events_url":"https://api.github.com/users/adamchainz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adamchainz/pretty-cron","description":"Converts crontab expressions to human-readable descriptions","fork":true,"url":"https://api.github.com/repos/adamchainz/pretty-cron","forks_url":"https://api.github.com/repos/adamchainz/pretty-cron/forks","keys_url":"https://api.github.com/repos/adamchainz/pretty-cron/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adamchainz/pretty-cron/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adamchainz/pretty-cron/teams","hooks_url":"https://api.github.com/repos/adamchainz/pretty-cron/hooks","issue_events_url":"https://api.github.com/repos/adamchainz/pretty-cron/issues/events{/number}","events_url":"https://api.github.com/repos/adamchainz/pretty-cron/events","assignees_url":"https://api.github.com/repos/adamchainz/pretty-cron/assignees{/user}","branches_url":"https://api.github.com/repos/adamchainz/pretty-cron/branches{/branch}","tags_url":"https://api.github.com/repos/adamchainz/pretty-cron/tags","blobs_url":"https://api.github.com/repos/adamchainz/pretty-cron/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adamchainz/pretty-cron/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adamchainz/pretty-cron/git/refs{/sha}","trees_url":"https://api.github.com/repos/adamchainz/pretty-cron/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adamchainz/pretty-cron/statuses/{sha}","languages_url":"https://api.github.com/repos/adamchainz/pretty-cron/languages","stargazers_url":"https://api.github.com/repos/adamchainz/pretty-cron/stargazers","contributors_url":"https://api.github.com/repos/adamchainz/pretty-cron/contributors","subscribers_url":"https://api.github.com/repos/adamchainz/pretty-cron/subscribers","subscription_url":"https://api.github.com/repos/adamchainz/pretty-cron/subscription","commits_url":"https://api.github.com/repos/adamchainz/pretty-cron/commits{/sha}","git_commits_url":"https://api.github.com/repos/adamchainz/pretty-cron/git/commits{/sha}","comments_url":"https://api.github.com/repos/adamchainz/pretty-cron/comments{/number}","issue_comment_url":"https://api.github.com/repos/adamchainz/pretty-cron/issues/comments{/number}","contents_url":"https://api.github.com/repos/adamchainz/pretty-cron/contents/{+path}","compare_url":"https://api.github.com/repos/adamchainz/pretty-cron/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adamchainz/pretty-cron/merges","archive_url":"https://api.github.com/repos/adamchainz/pretty-cron/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adamchainz/pretty-cron/downloads","issues_url":"https://api.github.com/repos/adamchainz/pretty-cron/issues{/number}","pulls_url":"https://api.github.com/repos/adamchainz/pretty-cron/pulls{/number}","milestones_url":"https://api.github.com/repos/adamchainz/pretty-cron/milestones{/number}","notifications_url":"https://api.github.com/repos/adamchainz/pretty-cron/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adamchainz/pretty-cron/labels{/name}","releases_url":"https://api.github.com/repos/adamchainz/pretty-cron/releases{/id}","deployments_url":"https://api.github.com/repos/adamchainz/pretty-cron/deployments","created_at":"2015-07-27T15:02:36Z","updated_at":"2016-03-31T18:18:20Z","pushed_at":"2016-04-27T10:25:52Z","git_url":"git://github.com/adamchainz/pretty-cron.git","ssh_url":"git@github.com:adamchainz/pretty-cron.git","clone_url":"https://github.com/adamchainz/pretty-cron.git","svn_url":"https://github.com/adamchainz/pretty-cron","homepage":"","size":29,"stargazers_count":3,"watchers_count":3,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":4,"forks":3,"open_issues":4,"watchers":3,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15"},"html":{"href":"https://github.com/adamchainz/pretty-cron/pull/15"},"issue":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/issues/15"},"comments":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/issues/15/comments"},"review_comments":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15/comments"},"review_comment":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/pulls/15/commits"},"statuses":{"href":"https://api.github.com/repos/adamchainz/pretty-cron/statuses/e8e1b4c7d8862009808ade81ba7b4fe9a74593cf"}}}}