{"action":"created","comment":{"url":"https://api.github.com/repos/airbnb/airflow/pulls/comments/60507767","id":60507767,"diff_hunk":"@@ -336,6 +336,47 @@ def list_tasks(args, dag=None):\n         print(\"\\n\".join(sorted(tasks)))\n \n \n+def parsedate_enhanced(args, dag):\n+    '''\n+    In addition to supporting date parsing, this also supports\n+    @now,\n+    @start_date (i.e. dag start date),\n+    @end_date (i.e. dag end date if one exists), and\n+    @latest (i.e. run closest to and before now that honors the schedule interval)\n+    '''\n+    timestr = args.execution_date\n+    now = datetime.now()\n+    start_date = dag.default_args['start_date'] if \\","path":"airflow/bin/cli.py","position":14,"original_position":14,"commit_id":"09d94614c29811cb503d2cea14e9a616d1d05701","original_commit_id":"09d94614c29811cb503d2cea14e9a616d1d05701","user":{"login":"jlowin","id":153965,"avatar_url":"https://avatars.githubusercontent.com/u/153965?v=3","gravatar_id":"","url":"https://api.github.com/users/jlowin","html_url":"https://github.com/jlowin","followers_url":"https://api.github.com/users/jlowin/followers","following_url":"https://api.github.com/users/jlowin/following{/other_user}","gists_url":"https://api.github.com/users/jlowin/gists{/gist_id}","starred_url":"https://api.github.com/users/jlowin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlowin/subscriptions","organizations_url":"https://api.github.com/users/jlowin/orgs","repos_url":"https://api.github.com/users/jlowin/repos","events_url":"https://api.github.com/users/jlowin/events{/privacy}","received_events_url":"https://api.github.com/users/jlowin/received_events","type":"User","site_admin":false},"body":"I think default args is always a dict, so maybe just `start_date = dag.default_args.get('start_date')`? Same for end_date.","created_at":"2016-04-20T23:57:28Z","updated_at":"2016-04-20T23:57:28Z","html_url":"https://github.com/airbnb/airflow/pull/1408#discussion_r60507767","pull_request_url":"https://api.github.com/repos/airbnb/airflow/pulls/1408","_links":{"self":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/comments/60507767"},"html":{"href":"https://github.com/airbnb/airflow/pull/1408#discussion_r60507767"},"pull_request":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/1408"}}},"pull_request":{"url":"https://api.github.com/repos/airbnb/airflow/pulls/1408","id":67133690,"html_url":"https://github.com/airbnb/airflow/pull/1408","diff_url":"https://github.com/airbnb/airflow/pull/1408.diff","patch_url":"https://github.com/airbnb/airflow/pull/1408.patch","issue_url":"https://api.github.com/repos/airbnb/airflow/issues/1408","number":1408,"state":"open","locked":false,"title":"Add @now, @latest, @start_date, & @end_date exec date short-cuts to a…","user":{"login":"r39132","id":581734,"avatar_url":"https://avatars.githubusercontent.com/u/581734?v=3","gravatar_id":"","url":"https://api.github.com/users/r39132","html_url":"https://github.com/r39132","followers_url":"https://api.github.com/users/r39132/followers","following_url":"https://api.github.com/users/r39132/following{/other_user}","gists_url":"https://api.github.com/users/r39132/gists{/gist_id}","starred_url":"https://api.github.com/users/r39132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r39132/subscriptions","organizations_url":"https://api.github.com/users/r39132/orgs","repos_url":"https://api.github.com/users/r39132/repos","events_url":"https://api.github.com/users/r39132/events{/privacy}","received_events_url":"https://api.github.com/users/r39132/received_events","type":"User","site_admin":false},"body":"Dear Airflow Maintainers,\r\n\r\nPlease accept the following PR that\r\n* Addresses the following issues (links to issues addressed by this PR) : https://github.com/airbnb/airflow/issues/1398\r\n\r\nReminder to contributors:\r\n* You must add an Apache License header to all new files\r\n* Please squash your commits when possible and follow the [7 rules of good Git commits](http://chris.beams.io/posts/git-commit/#seven-rules)\r\n\r\n…irflow test","created_at":"2016-04-20T06:17:21Z","updated_at":"2016-04-20T23:57:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6fc529dbb9b12e8ffccd6baab33fd68a39df1c91","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/airbnb/airflow/pulls/1408/commits","review_comments_url":"https://api.github.com/repos/airbnb/airflow/pulls/1408/comments","review_comment_url":"https://api.github.com/repos/airbnb/airflow/pulls/comments{/number}","comments_url":"https://api.github.com/repos/airbnb/airflow/issues/1408/comments","statuses_url":"https://api.github.com/repos/airbnb/airflow/statuses/09d94614c29811cb503d2cea14e9a616d1d05701","head":{"label":"r39132:master","ref":"master","sha":"09d94614c29811cb503d2cea14e9a616d1d05701","user":{"login":"r39132","id":581734,"avatar_url":"https://avatars.githubusercontent.com/u/581734?v=3","gravatar_id":"","url":"https://api.github.com/users/r39132","html_url":"https://github.com/r39132","followers_url":"https://api.github.com/users/r39132/followers","following_url":"https://api.github.com/users/r39132/following{/other_user}","gists_url":"https://api.github.com/users/r39132/gists{/gist_id}","starred_url":"https://api.github.com/users/r39132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r39132/subscriptions","organizations_url":"https://api.github.com/users/r39132/orgs","repos_url":"https://api.github.com/users/r39132/repos","events_url":"https://api.github.com/users/r39132/events{/privacy}","received_events_url":"https://api.github.com/users/r39132/received_events","type":"User","site_admin":false},"repo":{"id":41654193,"name":"airflow","full_name":"r39132/airflow","owner":{"login":"r39132","id":581734,"avatar_url":"https://avatars.githubusercontent.com/u/581734?v=3","gravatar_id":"","url":"https://api.github.com/users/r39132","html_url":"https://github.com/r39132","followers_url":"https://api.github.com/users/r39132/followers","following_url":"https://api.github.com/users/r39132/following{/other_user}","gists_url":"https://api.github.com/users/r39132/gists{/gist_id}","starred_url":"https://api.github.com/users/r39132/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r39132/subscriptions","organizations_url":"https://api.github.com/users/r39132/orgs","repos_url":"https://api.github.com/users/r39132/repos","events_url":"https://api.github.com/users/r39132/events{/privacy}","received_events_url":"https://api.github.com/users/r39132/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/r39132/airflow","description":"AirFlow is a system to programmatically author, schedule and monitor data pipelines.","fork":true,"url":"https://api.github.com/repos/r39132/airflow","forks_url":"https://api.github.com/repos/r39132/airflow/forks","keys_url":"https://api.github.com/repos/r39132/airflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/r39132/airflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/r39132/airflow/teams","hooks_url":"https://api.github.com/repos/r39132/airflow/hooks","issue_events_url":"https://api.github.com/repos/r39132/airflow/issues/events{/number}","events_url":"https://api.github.com/repos/r39132/airflow/events","assignees_url":"https://api.github.com/repos/r39132/airflow/assignees{/user}","branches_url":"https://api.github.com/repos/r39132/airflow/branches{/branch}","tags_url":"https://api.github.com/repos/r39132/airflow/tags","blobs_url":"https://api.github.com/repos/r39132/airflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/r39132/airflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/r39132/airflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/r39132/airflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/r39132/airflow/statuses/{sha}","languages_url":"https://api.github.com/repos/r39132/airflow/languages","stargazers_url":"https://api.github.com/repos/r39132/airflow/stargazers","contributors_url":"https://api.github.com/repos/r39132/airflow/contributors","subscribers_url":"https://api.github.com/repos/r39132/airflow/subscribers","subscription_url":"https://api.github.com/repos/r39132/airflow/subscription","commits_url":"https://api.github.com/repos/r39132/airflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/r39132/airflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/r39132/airflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/r39132/airflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/r39132/airflow/contents/{+path}","compare_url":"https://api.github.com/repos/r39132/airflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/r39132/airflow/merges","archive_url":"https://api.github.com/repos/r39132/airflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/r39132/airflow/downloads","issues_url":"https://api.github.com/repos/r39132/airflow/issues{/number}","pulls_url":"https://api.github.com/repos/r39132/airflow/pulls{/number}","milestones_url":"https://api.github.com/repos/r39132/airflow/milestones{/number}","notifications_url":"https://api.github.com/repos/r39132/airflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/r39132/airflow/labels{/name}","releases_url":"https://api.github.com/repos/r39132/airflow/releases{/id}","deployments_url":"https://api.github.com/repos/r39132/airflow/deployments","created_at":"2015-08-31T03:38:58Z","updated_at":"2016-04-06T23:58:27Z","pushed_at":"2016-04-20T23:39:10Z","git_url":"git://github.com/r39132/airflow.git","ssh_url":"git@github.com:r39132/airflow.git","clone_url":"https://github.com/r39132/airflow.git","svn_url":"https://github.com/r39132/airflow","homepage":null,"size":8415,"stargazers_count":1,"watchers_count":1,"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":1,"default_branch":"master"}},"base":{"label":"airbnb:master","ref":"master","sha":"c1f485f8475300d5fd26a02af751f376ad21909b","user":{"login":"airbnb","id":698437,"avatar_url":"https://avatars.githubusercontent.com/u/698437?v=3","gravatar_id":"","url":"https://api.github.com/users/airbnb","html_url":"https://github.com/airbnb","followers_url":"https://api.github.com/users/airbnb/followers","following_url":"https://api.github.com/users/airbnb/following{/other_user}","gists_url":"https://api.github.com/users/airbnb/gists{/gist_id}","starred_url":"https://api.github.com/users/airbnb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airbnb/subscriptions","organizations_url":"https://api.github.com/users/airbnb/orgs","repos_url":"https://api.github.com/users/airbnb/repos","events_url":"https://api.github.com/users/airbnb/events{/privacy}","received_events_url":"https://api.github.com/users/airbnb/received_events","type":"Organization","site_admin":false},"repo":{"id":33884891,"name":"airflow","full_name":"airbnb/airflow","owner":{"login":"airbnb","id":698437,"avatar_url":"https://avatars.githubusercontent.com/u/698437?v=3","gravatar_id":"","url":"https://api.github.com/users/airbnb","html_url":"https://github.com/airbnb","followers_url":"https://api.github.com/users/airbnb/followers","following_url":"https://api.github.com/users/airbnb/following{/other_user}","gists_url":"https://api.github.com/users/airbnb/gists{/gist_id}","starred_url":"https://api.github.com/users/airbnb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/airbnb/subscriptions","organizations_url":"https://api.github.com/users/airbnb/orgs","repos_url":"https://api.github.com/users/airbnb/repos","events_url":"https://api.github.com/users/airbnb/events{/privacy}","received_events_url":"https://api.github.com/users/airbnb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/airbnb/airflow","description":"Airflow is a system to programmatically author, schedule and monitor data pipelines.","fork":false,"url":"https://api.github.com/repos/airbnb/airflow","forks_url":"https://api.github.com/repos/airbnb/airflow/forks","keys_url":"https://api.github.com/repos/airbnb/airflow/keys{/key_id}","collaborators_url":"https://api.github.com/repos/airbnb/airflow/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/airbnb/airflow/teams","hooks_url":"https://api.github.com/repos/airbnb/airflow/hooks","issue_events_url":"https://api.github.com/repos/airbnb/airflow/issues/events{/number}","events_url":"https://api.github.com/repos/airbnb/airflow/events","assignees_url":"https://api.github.com/repos/airbnb/airflow/assignees{/user}","branches_url":"https://api.github.com/repos/airbnb/airflow/branches{/branch}","tags_url":"https://api.github.com/repos/airbnb/airflow/tags","blobs_url":"https://api.github.com/repos/airbnb/airflow/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/airbnb/airflow/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/airbnb/airflow/git/refs{/sha}","trees_url":"https://api.github.com/repos/airbnb/airflow/git/trees{/sha}","statuses_url":"https://api.github.com/repos/airbnb/airflow/statuses/{sha}","languages_url":"https://api.github.com/repos/airbnb/airflow/languages","stargazers_url":"https://api.github.com/repos/airbnb/airflow/stargazers","contributors_url":"https://api.github.com/repos/airbnb/airflow/contributors","subscribers_url":"https://api.github.com/repos/airbnb/airflow/subscribers","subscription_url":"https://api.github.com/repos/airbnb/airflow/subscription","commits_url":"https://api.github.com/repos/airbnb/airflow/commits{/sha}","git_commits_url":"https://api.github.com/repos/airbnb/airflow/git/commits{/sha}","comments_url":"https://api.github.com/repos/airbnb/airflow/comments{/number}","issue_comment_url":"https://api.github.com/repos/airbnb/airflow/issues/comments{/number}","contents_url":"https://api.github.com/repos/airbnb/airflow/contents/{+path}","compare_url":"https://api.github.com/repos/airbnb/airflow/compare/{base}...{head}","merges_url":"https://api.github.com/repos/airbnb/airflow/merges","archive_url":"https://api.github.com/repos/airbnb/airflow/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/airbnb/airflow/downloads","issues_url":"https://api.github.com/repos/airbnb/airflow/issues{/number}","pulls_url":"https://api.github.com/repos/airbnb/airflow/pulls{/number}","milestones_url":"https://api.github.com/repos/airbnb/airflow/milestones{/number}","notifications_url":"https://api.github.com/repos/airbnb/airflow/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/airbnb/airflow/labels{/name}","releases_url":"https://api.github.com/repos/airbnb/airflow/releases{/id}","deployments_url":"https://api.github.com/repos/airbnb/airflow/deployments","created_at":"2015-04-13T18:04:58Z","updated_at":"2016-04-20T22:46:43Z","pushed_at":"2016-04-20T23:39:11Z","git_url":"git://github.com/airbnb/airflow.git","ssh_url":"git@github.com:airbnb/airflow.git","clone_url":"https://github.com/airbnb/airflow.git","svn_url":"https://github.com/airbnb/airflow","homepage":"","size":10762,"stargazers_count":2507,"watchers_count":2507,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":513,"mirror_url":null,"open_issues_count":255,"forks":513,"open_issues":255,"watchers":2507,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/1408"},"html":{"href":"https://github.com/airbnb/airflow/pull/1408"},"issue":{"href":"https://api.github.com/repos/airbnb/airflow/issues/1408"},"comments":{"href":"https://api.github.com/repos/airbnb/airflow/issues/1408/comments"},"review_comments":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/1408/comments"},"review_comment":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/airbnb/airflow/pulls/1408/commits"},"statuses":{"href":"https://api.github.com/repos/airbnb/airflow/statuses/09d94614c29811cb503d2cea14e9a616d1d05701"}}}}