Skip to content

Guidance: How to add objects from visitor folder to dataset #26

@dvirlar2

Description

@dvirlar2

The code below is what I used to add data from visitor/Fischer into their appropriate dataset. Make sure this documentation get's added to the reference manual's Edit EML section.

# Script Goal: Add files from visitor directory to data package

## -- load libraries -- ##
library(dataone)
library(datapack)
library(uuid)
library(arcticdatautils)
library(EML)


## -- get dataset -- ##
d1c <- dataone::D1Client() # removed for privacy concerns 

packageId <- "resource_map_pid_here"
dp <- getDataPackage(d1c, identifier = packageId, lazyLoad=TRUE, quiet=FALSE)

xml <- selectMember(dp, "sysmeta@fileName", ".xml")


## -- retrieve all files -- ##
# Get file paths to the data
files <- list.files("/home/visitor/Fischer", full.names = TRUE)


## -- Add files to package -- ##
for(i in 1:length(files)){
   # create new data object for each file
  data_object <- new("DataObject", format="netCDF-4", filename=files[[i]])

  # add that object to the data package
  dp <- addMember(dp, data_object, xml)
}


## -- update package -- ##
myAccessRules <- data.frame() # removed for privacy concerns

newPackageId <- uploadDataPackage(d1c, dp, public = FALSE, 
                                  accessRules = myAccessRules, quiet = FALSE)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Status

    Training To Dos

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions