{"action":"created","comment":{"url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/comments/145040612","pull_request_review_id":69771986,"id":145040612,"diff_hunk":"@@ -0,0 +1,204 @@\n+import statistics\n+import sys\n+from math import ceil\n+from datetime import timedelta, datetime\n+from datacube.api.query import query_group_by\n+\n+from otps.predict_wrapper import predict_tide\n+from otps import TimePoint\n+from operator import itemgetter\n+import pandas as pd\n+\n+DERIVED_PRODS = ['dry', 'wet', 'item', 'low', 'high']\n+FILTER_METHOD = {\n+    'by_tidal_height': ['item', 'low', 'high'],\n+    'by_hydrological_months': ['dry', 'wet'],\n+}\n+PROD_SUB_LIST = ['e', 'f', 'ph', 'pl']\n+\n+\n+# Return the geom for a feature id\n+def geom_from_file(filter_product):\n+    import fiona\n+    from datacube.utils.geometry import CRS, Geometry\n+    filename = filter_product['filename']\n+    feature_id = filter_product['args']['feature_id']\n+    with fiona.open(filename) as input_region:\n+        for feature in input_region:\n+            ID = feature['properties']['ID']\n+            if ID in feature_id:\n+                geom = feature['geometry']\n+                crs = CRS(input_region.crs_wkt)\n+                geom = Geometry(geom, crs)\n+    return geom\n+\n+\n+# Return all sensor dates related to the feature id\n+def list_poly_dates(dc, boundary_polygon, sources_spec, date_ranges):\n+\n+    all_times = list()\n+    for source_spec in sources_spec:\n+        for mask in source_spec.get('masks', []):\n+            group_by_name = source_spec.get('group_by', 'solar_day')\n+            gl_range = (date_ranges[0][0], date_ranges[0][1])\n+            if source_spec.get('time'):\n+                # No need to do if start date is more than the allowed date\n+                if gl_range[0] > datetime.strptime(source_spec['time'][1], \"%Y-%m-%d\"):\n+                    continue\n+                # reset the end date in case it is more than filtered allowed date\n+                if gl_range[1] > datetime.strptime(source_spec['time'][1], \"%Y-%m-%d\"):\n+                    gl_range = (date_ranges[0][0], datetime.strptime(source_spec['time'][1], \"%Y-%m-%d\"))\n+            ds = dc.find_datasets(product=mask['product'], time=gl_range,\n+                                  geopolygon=boundary_polygon, group_by=group_by_name)\n+            group_by = query_group_by(group_by=group_by_name)\n+            sources = dc.group_datasets(ds, group_by)\n+            # Here is a data error specific to this date so before adding exclude it\n+            if len(ds) > 0:\n+                all_times = all_times + [dd for dd in sources.time.data.astype('M8[s]').astype('O').tolist()]\n+    return sorted(all_times)\n+\n+\n+# This routine is used for ITEM product and it returns a list of dates corresponding to the range interval.\n+def range_tidal_data(all_dates, filter_product, ln, la):\n+    perc = filter_product['args']['tide_range']\n+    per = filter_product['args']['tide_percent']\n+    fid = filter_product['args']['feature_id'][0]\n+    tp = list()\n+    tide_dict = dict()\n+    for dt in all_dates:\n+        tp.append(TimePoint(ln, la, dt))\n+    # Calling this routine to get the tide object for each timepoint\n+    tides = predict_tide(tp)\n+    if len(tides) == 0:\n+        print(\"No tide height observed from OTPS model within lat/lon range\")\n+        sys.exit()\n+    for tt in tides:\n+        tide_dict[datetime.strptime(tt.timepoint.timestamp.isoformat()[0:19], \"%Y-%m-%dT%H:%M:%S\")] = tt.tide_m\n+    # sorting as per tide heights lowest to highest\n+    tide_list = sorted(tide_dict.items(), key=lambda x: x[1])\n+    max_height = tide_list[-1][1]\n+    min_height = tide_list[0][1]\n+    dr = max_height-min_height\n+    inc = min_height\n+    # This is hard coded to have 9 intervals for tide_range 10 to support ITEM V1\n+    # if tide_range changes then it needs reworking here to merge top or bottom intervals\n+    per_range = int(100/perc) - 1\n+    print(\"id, per, min, max, observation, LOT, HOT, median\")\n+    # Extract list of dates that falls within the input range otherwise return empty list\n+    for i in range(per_range):\n+        incmn = inc\n+        perc = 20 if i == per_range-1 else 10\n+        inc = float(\"%.3f\" % (incmn + dr*perc*0.01))\n+        inc = max_height if i == per_range-1 else inc\n+        range_value = [[x[0].strftime('%Y-%m-%d'), x[1]] for x in tide_list\n+                       if (x[1] >= incmn and x[1] <= inc)]\n+        median = float(\"%.3f\" % (statistics.median([x[1] for x in range_value])))\n+        if per == (i+1)*10:\n+            print(\"MEDIAN INFO \" + str(fid) + \",\" + str(per) + \",\" + str(incmn) + \",\" +\n+                  str(inc) + \",\" + str(len(range_value)) + \",\" +\n+                  str(range_value[0][1]) + \",\" + str(range_value[-1][1]) + \",\" + str(median))\n+            return range_value\n+    return []\n+\n+\n+# This function is used for composite products and also for sub class extraction\n+# like ebb/flow/peak high/low on the basis of 15 minutes before and after\n+def extract_otps_computed_data(dates, date_ranges, per, ln, la):\n+    tp = list()\n+    tide_dict = dict()\n+    new_date_list = list()\n+    mnt = timedelta(minutes=15)\n+    # add 15 min before and after to decide the type of tide for each dates\n+    for dt in dates:\n+        new_date_list.append(dt-mnt)\n+        new_date_list.append(dt)\n+        new_date_list.append(dt+mnt)\n+    for dt in new_date_list:\n+        tp.append(TimePoint(ln, la, dt))\n+    tides = predict_tide(tp)\n+    if len(tides) == 0:\n+        print(\"No tide height observed from OTPS model within lat/lon range\")\n+        sys.exit()\n+    # collect in ebb/flow list\n+    for tt in tides:\n+        tide_dict[datetime.strptime(tt.timepoint.timestamp.isoformat()[0:19], \"%Y-%m-%dT%H:%M:%S\")] = tt.tide_m\n+    tmp_lt = sorted(tide_dict.items(), key=lambda x: x[0])\n+    dt_list = tmp_lt[1::3]\n+    my_data = sorted(dt_list, key=itemgetter(1))\n+    tmp_lt = [[tmp_lt[i+1][0].strftime(\"%Y-%m-%d\"), 'ph']","path":"datacube_stats/utils/tide_utility.py","position":128,"original_position":128,"commit_id":"d7628dfcf2b67faf4ed9927f37d21832304b19df","original_commit_id":"d7628dfcf2b67faf4ed9927f37d21832304b19df","user":{"login":"omad","id":108979,"avatar_url":"https://avatars2.githubusercontent.com/u/108979?v=4","gravatar_id":"","url":"https://api.github.com/users/omad","html_url":"https://github.com/omad","followers_url":"https://api.github.com/users/omad/followers","following_url":"https://api.github.com/users/omad/following{/other_user}","gists_url":"https://api.github.com/users/omad/gists{/gist_id}","starred_url":"https://api.github.com/users/omad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omad/subscriptions","organizations_url":"https://api.github.com/users/omad/orgs","repos_url":"https://api.github.com/users/omad/repos","events_url":"https://api.github.com/users/omad/events{/privacy}","received_events_url":"https://api.github.com/users/omad/received_events","type":"User","site_admin":false},"body":"This is really dense and unreadable. What is it doing?","created_at":"2017-10-17T06:57:18Z","updated_at":"2017-10-17T07:00:19Z","html_url":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35#discussion_r145040612","pull_request_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/comments/145040612"},"html":{"href":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35#discussion_r145040612"},"pull_request":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35"}}},"pull_request":{"url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35","id":146696149,"html_url":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35","diff_url":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35.diff","patch_url":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35.patch","issue_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/35","number":35,"state":"open","locked":false,"title":"Add multiple new features required for inter-tidal products","user":{"login":"omad","id":108979,"avatar_url":"https://avatars2.githubusercontent.com/u/108979?v=4","gravatar_id":"","url":"https://api.github.com/users/omad","html_url":"https://github.com/omad","followers_url":"https://api.github.com/users/omad/followers","following_url":"https://api.github.com/users/omad/following{/other_user}","gists_url":"https://api.github.com/users/omad/gists{/gist_id}","starred_url":"https://api.github.com/users/omad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omad/subscriptions","organizations_url":"https://api.github.com/users/omad/orgs","repos_url":"https://api.github.com/users/omad/repos","events_url":"https://api.github.com/users/omad/events{/privacy}","received_events_url":"https://api.github.com/users/omad/received_events","type":"User","site_admin":false},"body":"I  made a major refactor of my code to make it fit with the existing codes in master branch. I took the base codes main.py, statistics.py from master and plug my codes in few places. Most important changes are ..\r\n1.\tAdding extra function Generate_Polygon_Tasks to deal with composite/item/dry/wet products.\r\n2.\tPassed filter_product to execute_task in order to carry shape file name and feature id. Geometry will be calculated and masked before computation starts. The code is now clean.\r\n3.\tFollowed the concept of method and args, as you discussed, in part of filter_product configs. I put the word filter_product insead of source_filter as it may be \r\nconfusing with other name source_filter used in part of sources dictionary.\r\n4.\tI cleaned up tide_utility.py  for my fuction calls StdNdwi and MedNdwi. This will return xarray dataset instead of xarray. This is because  in load_process_save_chunk() expects xarray dataset to write onto output_files. Earlier I have been using xarray and hence had to deal with separate write process after computation.\r\n5.\tI modified all item_??.yaml, tidal_low.yaml,tidal_high.yaml,poly_dry.yaml and poly_wet.yaml  to reflect the attributes under filter_product.\r\n6.\tI maintained all the epoch information under date_ranges in the config file. Didn’t duplicate these time info in separate filter_product. This is to make clarity for current products. If in future, we need some other epochs then we will think later.\r\n7.\tImplemented time attribute in sources to filter out the individual sensors (like SLC off ) as you advised.\r\n8.\tPylint and PEP8 was complaining  on crossing number of lines set 1000 for main.py and 1200 for statistics.py. I increased upto 1300 as my main.py reaches close to 1200 and statistics.py  close to 1300.\r\n\r\nWe still need to think how to separate writing data as you commented “# TODO: Move this loop into output_files” in load_process_save_chunk()  to give flexible to make\r\nmore control on writing output file.\r\nIn this current form, I tested all the polygon products and comes good.  Can you please review my codes in particular  calling through execute_task() and  new function Generate_Polygon_Tasks(). If you recommend anything please let me know or if you like you can update in this branch.\r\n","created_at":"2017-10-16T04:48:12Z","updated_at":"2017-10-17T07:00:19Z","closed_at":null,"merged_at":null,"merge_commit_sha":"24dd5e09453f58f8b60fe26facbffda83c17db97","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35/commits","review_comments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35/comments","review_comment_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/35/comments","statuses_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/statuses/d7628dfcf2b67faf4ed9927f37d21832304b19df","head":{"label":"GeoscienceAustralia:attempt-multipolyregion-merge","ref":"attempt-multipolyregion-merge","sha":"d7628dfcf2b67faf4ed9927f37d21832304b19df","user":{"login":"GeoscienceAustralia","id":4704285,"avatar_url":"https://avatars2.githubusercontent.com/u/4704285?v=4","gravatar_id":"","url":"https://api.github.com/users/GeoscienceAustralia","html_url":"https://github.com/GeoscienceAustralia","followers_url":"https://api.github.com/users/GeoscienceAustralia/followers","following_url":"https://api.github.com/users/GeoscienceAustralia/following{/other_user}","gists_url":"https://api.github.com/users/GeoscienceAustralia/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoscienceAustralia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoscienceAustralia/subscriptions","organizations_url":"https://api.github.com/users/GeoscienceAustralia/orgs","repos_url":"https://api.github.com/users/GeoscienceAustralia/repos","events_url":"https://api.github.com/users/GeoscienceAustralia/events{/privacy}","received_events_url":"https://api.github.com/users/GeoscienceAustralia/received_events","type":"Organization","site_admin":false},"repo":{"id":69618821,"name":"agdc_statistics","full_name":"GeoscienceAustralia/agdc_statistics","owner":{"login":"GeoscienceAustralia","id":4704285,"avatar_url":"https://avatars2.githubusercontent.com/u/4704285?v=4","gravatar_id":"","url":"https://api.github.com/users/GeoscienceAustralia","html_url":"https://github.com/GeoscienceAustralia","followers_url":"https://api.github.com/users/GeoscienceAustralia/followers","following_url":"https://api.github.com/users/GeoscienceAustralia/following{/other_user}","gists_url":"https://api.github.com/users/GeoscienceAustralia/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoscienceAustralia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoscienceAustralia/subscriptions","organizations_url":"https://api.github.com/users/GeoscienceAustralia/orgs","repos_url":"https://api.github.com/users/GeoscienceAustralia/repos","events_url":"https://api.github.com/users/GeoscienceAustralia/events{/privacy}","received_events_url":"https://api.github.com/users/GeoscienceAustralia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GeoscienceAustralia/agdc_statistics","description":"Data Cube Temporal Statistic Tools","fork":false,"url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics","forks_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/forks","keys_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/teams","hooks_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/hooks","issue_events_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/events{/number}","events_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/events","assignees_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/assignees{/user}","branches_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/branches{/branch}","tags_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/tags","blobs_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/refs{/sha}","trees_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/statuses/{sha}","languages_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/languages","stargazers_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/stargazers","contributors_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/contributors","subscribers_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/subscribers","subscription_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/subscription","commits_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/commits{/sha}","git_commits_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/commits{/sha}","comments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/comments{/number}","issue_comment_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/comments{/number}","contents_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/contents/{+path}","compare_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/merges","archive_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/downloads","issues_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues{/number}","pulls_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls{/number}","milestones_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/milestones{/number}","notifications_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/labels{/name}","releases_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/releases{/id}","deployments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/deployments","created_at":"2016-09-30T00:26:30Z","updated_at":"2017-09-20T07:28:05Z","pushed_at":"2017-10-17T03:34:48Z","git_url":"git://github.com/GeoscienceAustralia/agdc_statistics.git","ssh_url":"git@github.com:GeoscienceAustralia/agdc_statistics.git","clone_url":"https://github.com/GeoscienceAustralia/agdc_statistics.git","svn_url":"https://github.com/GeoscienceAustralia/agdc_statistics","homepage":"http://www.ga.gov.au/about/projects/geographic/digital-earth-australia","size":1488,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":6,"forks":0,"open_issues":6,"watchers":2,"default_branch":"master"}},"base":{"label":"GeoscienceAustralia:master","ref":"master","sha":"6f1fd9ddeed79e6d7e868b0b29c4e9a887210fa4","user":{"login":"GeoscienceAustralia","id":4704285,"avatar_url":"https://avatars2.githubusercontent.com/u/4704285?v=4","gravatar_id":"","url":"https://api.github.com/users/GeoscienceAustralia","html_url":"https://github.com/GeoscienceAustralia","followers_url":"https://api.github.com/users/GeoscienceAustralia/followers","following_url":"https://api.github.com/users/GeoscienceAustralia/following{/other_user}","gists_url":"https://api.github.com/users/GeoscienceAustralia/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoscienceAustralia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoscienceAustralia/subscriptions","organizations_url":"https://api.github.com/users/GeoscienceAustralia/orgs","repos_url":"https://api.github.com/users/GeoscienceAustralia/repos","events_url":"https://api.github.com/users/GeoscienceAustralia/events{/privacy}","received_events_url":"https://api.github.com/users/GeoscienceAustralia/received_events","type":"Organization","site_admin":false},"repo":{"id":69618821,"name":"agdc_statistics","full_name":"GeoscienceAustralia/agdc_statistics","owner":{"login":"GeoscienceAustralia","id":4704285,"avatar_url":"https://avatars2.githubusercontent.com/u/4704285?v=4","gravatar_id":"","url":"https://api.github.com/users/GeoscienceAustralia","html_url":"https://github.com/GeoscienceAustralia","followers_url":"https://api.github.com/users/GeoscienceAustralia/followers","following_url":"https://api.github.com/users/GeoscienceAustralia/following{/other_user}","gists_url":"https://api.github.com/users/GeoscienceAustralia/gists{/gist_id}","starred_url":"https://api.github.com/users/GeoscienceAustralia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GeoscienceAustralia/subscriptions","organizations_url":"https://api.github.com/users/GeoscienceAustralia/orgs","repos_url":"https://api.github.com/users/GeoscienceAustralia/repos","events_url":"https://api.github.com/users/GeoscienceAustralia/events{/privacy}","received_events_url":"https://api.github.com/users/GeoscienceAustralia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GeoscienceAustralia/agdc_statistics","description":"Data Cube Temporal Statistic Tools","fork":false,"url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics","forks_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/forks","keys_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/teams","hooks_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/hooks","issue_events_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/events{/number}","events_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/events","assignees_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/assignees{/user}","branches_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/branches{/branch}","tags_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/tags","blobs_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/refs{/sha}","trees_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/statuses/{sha}","languages_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/languages","stargazers_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/stargazers","contributors_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/contributors","subscribers_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/subscribers","subscription_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/subscription","commits_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/commits{/sha}","git_commits_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/git/commits{/sha}","comments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/comments{/number}","issue_comment_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/comments{/number}","contents_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/contents/{+path}","compare_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/merges","archive_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/downloads","issues_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues{/number}","pulls_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls{/number}","milestones_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/milestones{/number}","notifications_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/labels{/name}","releases_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/releases{/id}","deployments_url":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/deployments","created_at":"2016-09-30T00:26:30Z","updated_at":"2017-09-20T07:28:05Z","pushed_at":"2017-10-17T03:34:48Z","git_url":"git://github.com/GeoscienceAustralia/agdc_statistics.git","ssh_url":"git@github.com:GeoscienceAustralia/agdc_statistics.git","clone_url":"https://github.com/GeoscienceAustralia/agdc_statistics.git","svn_url":"https://github.com/GeoscienceAustralia/agdc_statistics","homepage":"http://www.ga.gov.au/about/projects/geographic/digital-earth-australia","size":1488,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":6,"forks":0,"open_issues":6,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35"},"html":{"href":"https://github.com/GeoscienceAustralia/agdc_statistics/pull/35"},"issue":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/35"},"comments":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/issues/35/comments"},"review_comments":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35/comments"},"review_comment":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/pulls/35/commits"},"statuses":{"href":"https://api.github.com/repos/GeoscienceAustralia/agdc_statistics/statuses/d7628dfcf2b67faf4ed9927f37d21832304b19df"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"omad"}}