Skip to content

Commit

Permalink
Modifications to locations csv based on review
Browse files Browse the repository at this point in the history
- Ignores N/A site for locations CSV
- Changes locations transfer to metadata
  Moves the locations transfer to the Metadata ONLY and
  the Metadata+data transfer.
- Updates formatting for locations.csv notes col

Closes #372
  • Loading branch information
vchendrix committed Jan 6, 2023
1 parent 340ad86 commit 46df5b2
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 32 deletions.
6 changes: 3 additions & 3 deletions archive_api/fixtures/test_archive_api.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"name": "Central City CCPD",
"description": "Et doming epicurei posidonium has, an sit sanctus intellegebat. Ne malis reprehendunt mea. Iisque dolorem vel cu. Ut nam sapientem appellantur definitiones, copiosae placerat inimicus per ei. Cu pro reque putant, cu perfecto urbanitas posidonium eum, pri probo laoreet cu. Ei duo cetero concludaturque, ei adhuc facilis sit.\r\n\r\nAn aeque harum ius, mea ut erant verear salutandi. Eligendi recusabo usu ad. Ad modo vero consequat his, ne aperiam alienum suscipiantur his. Altera laoreet petentium pro ut. His option vocibus at. Vix no semper omnesque maluisset, accusata qualisque ut pro. Eos sint constituto temporibus in.",
"country": "United States",
"state_province": "",
"state_province": "Provo",
"utc_offset": -9,
"location_latitude": -8.983987234,
"location_longitude": 5.9832932847,
Expand Down Expand Up @@ -122,9 +122,9 @@
"plot_id": "CC-CCPD1",
"name": "Central City CCPD Plot 1",
"description": "Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit amet, consectetur, adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur",
"size": "",
"size": "10 hectares",
"location_elevation": "",
"location_kmz_url": "",
"location_kmz_url": "https://location.com/kmz",
"pi": 3,
"site": 1,
"submission": 4,
Expand Down
44 changes: 29 additions & 15 deletions archive_api/service/essdive_transfer/crosswalk.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import logging

# NGEE-Tropics Project information
LOCATION_NOT_APPLICABLE = "N/A"
JSONLD_PROVIDER = {
"identifier": {
"@type": "PropertyValue",
Expand Down Expand Up @@ -106,7 +107,7 @@ def _dataset_spatial(dataset):

for location in dataset.sites.all():

if location.name == "N/A":
if location.name == LOCATION_NOT_APPLICABLE:
continue

# set x,y as bounding box coord for sites 1, 5, 12, 13, 14, 16, 20; which do not have bounding boxes.
Expand Down Expand Up @@ -260,21 +261,34 @@ def locations_transform(dataset) -> List[collections.UserDict]:
locations = []

for site in dataset.sites.all():
locations.append(collections.UserDict(
Submission_Contact_Name="; ".join([f"{c.first_name} {c.last_name}" for c in site.contacts.all()]),
Submission_Contact_Email="; ".join([c.email for c in site.contacts.all()]),
Location_ID=site.site_id,
Description=site.description,
Latitude=site.location_latitude,
Longitude=site.location_longitude,
Elevation=site.location_elevation,
Location_Alias=site.name,
Parent_Location_ID="",
UTC_Offset=site.utc_offset,
Country=site.country,
Notes=""))
if site.name != LOCATION_NOT_APPLICABLE:

# Prepare the notes with additional site information
notes = []
site.site_urls and notes.append(f"Site URL(s): {site.site_urls}")
site.location_map_url and notes.append(f"Location Map URL: {site.location_map_url}")
site.state_province and notes.append(f"State Province: {site.state_province}")

locations.append(collections.UserDict(
Submission_Contact_Name="; ".join([f"{c.first_name} {c.last_name}" for c in site.contacts.all()]),
Submission_Contact_Email="; ".join([c.email for c in site.contacts.all()]),
Location_ID=site.site_id,
Description=site.description,
Latitude=site.location_latitude,
Longitude=site.location_longitude,
Elevation=site.location_elevation,
Location_Alias=site.name,
Parent_Location_ID="",
UTC_Offset=site.utc_offset,
Country=site.country,
Notes="; ".join(notes)))

for plot in dataset.plots.all():
# Prepare the notes with additional information
notes = []
plot.location_kmz_url and notes.append(f"Plot Location KMZ URL: {plot.location_kmz_url}")
plot.size and notes.append(f"Plot Size: {plot.size}")

locations.append(collections.UserDict(
Submission_Contact_Name="; ".join([f"{c.first_name} {c.last_name}" for c in plot.site.contacts.all()]),
Submission_Contact_Email="; ".join([c.email for c in plot.site.contacts.all()]),
Expand All @@ -287,7 +301,7 @@ def locations_transform(dataset) -> List[collections.UserDict]:
Parent_Location_ID=plot.site.site_id,
UTC_Offset=plot.site.utc_offset,
Country=plot.site.country,
Notes=plot.size and f"Size - {plot.size}" or ""))
Notes="; ".join(notes)))

return locations

Expand Down
16 changes: 8 additions & 8 deletions archive_api/service/essdive_transfer/tasks.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,17 +202,17 @@ def transfer(result):
files_tuples_array = list()
files_tuples_array.append(("json-ld", json.dumps(json_ld)))

# Get the locations csv for this dataset
locations_fp = crosswalk.locations_csv(transfer_job.dataset)
if locations_fp:
log.info(
f"Prepared ESS-DIVE dataset locations.csv file for ESS-DIVE identifier {essdive_id}")
files_tuples_array.append(
('data', ("locations.csv", locations_fp)))

# Is this a data update?
if transfer_job.type == EssDiveTransfer.TYPE_DATA:

# Get the locations csv for this dataset
locations_fp = crosswalk.locations_csv(transfer_job.dataset)
if locations_fp:
log.info(
f"Prepared ESS-DIVE dataset locations.csv file for ESS-DIVE identifier {essdive_id}")
files_tuples_array.append(
('data', ("locations.csv", locations_fp)))

log.info(f"Uploading ESS-DIVE dataset file '{transfer_job.dataset.archive.path}' for ESS-DIVE identifier {essdive_id}")
files_tuples_array.append(
('data', (transfer_job.dataset.archive.name, open(transfer_job.dataset.archive.path, 'rb'))))
Expand Down
4 changes: 2 additions & 2 deletions archive_api/tests/essdive_transfer_locations.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"Parent_Location_ID": "",
"UTC_Offset": -9,
"Country": "United States",
"Notes": ""
"Notes": "Site URL(s): http://centralcityccpd.baz; State Province: Provo"
},
{
"Submission_Contact_Name": "Barry Allen",
Expand All @@ -25,6 +25,6 @@
"Parent_Location_ID": "CC-CCPD",
"UTC_Offset": -9,
"Country": "United States",
"Notes": ""
"Notes": "Plot Location KMZ URL: https://location.com/kmz; Plot Size: 10 hectares"
}
]
4 changes: 2 additions & 2 deletions archive_api/tests/locations.csv
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Submission_Contact_Name,Submission_Contact_Email,Location_ID,Description,Latitude,Longitude,Elevation,Location_Alias,Parent_Location_ID,UTC_Offset,Country,Notes
Barry Allen,[email protected],CC-CCPD,"Et doming epicurei posidonium has, an sit sanctus intellegebat. Ne malis reprehendunt mea. Iisque dolorem vel cu. Ut nam sapientem appellantur definitiones, copiosae placerat inimicus per ei. Cu pro reque putant, cu perfecto urbanitas posidonium eum, pri probo laoreet cu. Ei duo cetero concludaturque, ei adhuc facilis sit.

An aeque harum ius, mea ut erant verear salutandi. Eligendi recusabo usu ad. Ad modo vero consequat his, ne aperiam alienum suscipiantur his. Altera laoreet petentium pro ut. His option vocibus at. Vix no semper omnesque maluisset, accusata qualisque ut pro. Eos sint constituto temporibus in.",-8.983987234,5.9832932847,100-400,Central City CCPD,,-9,United States,
Barry Allen,[email protected],CC-CCPD1,"Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit amet, consectetur, adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur",-8.983987234,5.9832932847,,Central City CCPD Plot 1,CC-CCPD,-9,United States,
An aeque harum ius, mea ut erant verear salutandi. Eligendi recusabo usu ad. Ad modo vero consequat his, ne aperiam alienum suscipiantur his. Altera laoreet petentium pro ut. His option vocibus at. Vix no semper omnesque maluisset, accusata qualisque ut pro. Eos sint constituto temporibus in.",-8.983987234,5.9832932847,100-400,Central City CCPD,,-9,United States,Site URL(s): http://centralcityccpd.baz; State Province: Provo
Barry Allen,[email protected],CC-CCPD1,"Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit amet, consectetur, adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur",-8.983987234,5.9832932847,,Central City CCPD Plot 1,CC-CCPD,-9,United States,Plot Location KMZ URL: https://location.com/kmz; Plot Size: 10 hectares
4 changes: 2 additions & 2 deletions archive_api/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -966,7 +966,7 @@ def test_client_get(self):
{"url": "http://testserver/api/v1/sites/1/", "site_id": "CC-CCPD",
"name": "Central City CCPD",
"description": "Et doming epicurei posidonium has, an sit sanctus intellegebat. Ne malis reprehendunt mea. Iisque dolorem vel cu. Ut nam sapientem appellantur definitiones, copiosae placerat inimicus per ei. Cu pro reque putant, cu perfecto urbanitas posidonium eum, pri probo laoreet cu. Ei duo cetero concludaturque, ei adhuc facilis sit.\r\n\r\nAn aeque harum ius, mea ut erant verear salutandi. Eligendi recusabo usu ad. Ad modo vero consequat his, ne aperiam alienum suscipiantur his. Altera laoreet petentium pro ut. His option vocibus at. Vix no semper omnesque maluisset, accusata qualisque ut pro. Eos sint constituto temporibus in.",
"country": "United States", "state_province": "", "utc_offset": -9,
"country": "United States", "state_province": "Provo", "utc_offset": -9,
"location_latitude": -8.983987234, "location_longitude": 5.9832932847,
"location_elevation": "100-400", "location_map_url": "",
"location_bounding_box_ul_latitude": None,
Expand Down Expand Up @@ -1023,7 +1023,7 @@ def test_client_get(self):
{"url": "http://testserver/api/v1/plots/1/", "plot_id": "CC-CCPD1",
"name": "Central City CCPD Plot 1",
"description": "Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit amet, consectetur, adipisci[ng] velit, sed quia non numquam [do] eius modi tempora inci[di]dunt, ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla pariatur",
"size": "", "location_elevation": "", "location_kmz_url": "", "submission_date": "2016-10-08",
"size": "10 hectares", "location_elevation": "", "location_kmz_url": "https://location.com/kmz", "submission_date": "2016-10-08",
"pi": "http://testserver/api/v1/people/3/",
"site": "http://testserver/api/v1/sites/1/",
"submission": "http://testserver/api/v1/people/4/"})
Expand Down

0 comments on commit 46df5b2

Please sign in to comment.