def run(self, *args, **kwargs): """ Run the command: Acquire USGS DEM data. Arguments: auth hs_restclient.HydroShareAuth object title string representing the title of the resource hydroshare_host string representing DNS name of the HydroShare server in which to create the resource hydroshare_port int representing the TCP port of the HydroShare server use_https True if HTTPS should be used. Default: False resource_type string representing the HydroShare resource type that should be used to create the resource abstract string representing the abstract of the resource keywords list of strings representing the keywords to assign to the resource create_callback user-defined callable that takes as input a file size in bytes, and generates a callable to provide feedback to the user about the progress of the upload of resource_file. For more information, see: http://toolbelt.readthedocs.org/en/latest/uploading-data.html#monitoring-your-streaming-multipart-upload verbose -- boolean Produce verbose output. Default: False. overwrite -- boolean Overwrite existing output. Default: False. """ auth = kwargs.get('auth', None) if auth is None: raise RunException("No HydroShare authentication mechanism was defined.") title = kwargs.get('title', None) if title is None: raise RunException("Title for new HydroShare resource was not specified.") hydroshare_host = kwargs.get('hydroshare_host', None) hydroshare_port = kwargs.get('hydroshare_port', None) use_https = kwargs.get('use_https', False) resource_type = kwargs.get('resource_type', 'GenericResource') abstract = kwargs.get('abstract', None) keywords = kwargs.get('keywords', None) create_callback = kwargs.get('create_callback', None) verbose = kwargs.get('verbose', False) overwrite = kwargs.get('overwrite', False) self.checkMetadata(overwrite=overwrite) resource_id = create_hydroshare_resource(self.context, auth, title, hydroshare_host=hydroshare_host, hydroshare_port=hydroshare_port, use_https=use_https, resource_type=resource_type, abstract=abstract, keywords=keywords, create_callback=create_callback, verbose=verbose) # Write metadata entries cmdline = GenericMetadata.getCommandLine() # Write metadata GenericMetadata.writeHydroShareEntry(self.context, 'resource_id', resource_id) # Write processing history GenericMetadata.appendProcessingHistoryItem(self.context, cmdline)
def test_delete(self): GenericMetadata.writeManifestEntry(self.context, "key1", "value_one") manifest = GenericMetadata.readManifestEntries(self.context) self.assertTrue(manifest["key1"] == "value_one") GenericMetadata.deleteManifestEntry(self.context, "key1") manifest = GenericMetadata.readManifestEntries(self.context) self.assertTrue(not 'key1' in manifest) GenericMetadata.writeStudyAreaEntry(self.context, "key1", "value_one") studyArea = GenericMetadata.readStudyAreaEntries(self.context) self.assertTrue(studyArea["key1"] == "value_one") GenericMetadata.deleteStudyAreaEntry(self.context, 'key1') studyArea = GenericMetadata.readStudyAreaEntries(self.context) self.assertTrue(not 'key1' in studyArea) GenericMetadata.writeClimatePointEntry(self.context, "key1", "value_one") climatePoint = GenericMetadata.readClimatePointEntries(self.context) self.assertTrue(climatePoint["key1"] == "value_one") GenericMetadata.deleteClimatePointEntry(self.context, 'key1') climatePoint = GenericMetadata.readClimatePointEntries(self.context) self.assertTrue(not 'key1' in climatePoint) GenericMetadata.writeClimateGridEntry(self.context, "key1", "value_one") climateGrid = GenericMetadata.readClimateGridEntries(self.context) self.assertTrue(climateGrid["key1"] == "value_one") GenericMetadata.deleteClimateGridEntry(self.context, 'key1') climateGrid = GenericMetadata.readClimateGridEntries(self.context) self.assertTrue(not 'key1' in climateGrid) # Delete and empty entry GenericMetadata.deleteClimateGridEntry(self.context, "not_in_store") GenericMetadata.writeHydroShareEntry(self.context, "resource_id", "fae3688aa1354fb2a558380669229a66") hydroshare = GenericMetadata.readHydroShareEntries(self.context) self.assertTrue(hydroshare["resource_id"] == "fae3688aa1354fb2a558380669229a66") GenericMetadata.deleteHydroShareEntry(self.context, "resource_id") hydroshare = GenericMetadata.readHydroShareEntries(self.context) self.assertTrue(not 'resource_id' in hydroshare)
def test_write_and_read(self): GenericMetadata.writeManifestEntry(self.context, "key1", "value_one") GenericMetadata.writeManifestEntry(self.context, "key2", "value_two") manifest = GenericMetadata.readManifestEntries(self.context) self.assertTrue(manifest["key1"] == "value_one") GenericMetadata.writeStudyAreaEntry(self.context, "key1", "value_one") GenericMetadata.writeStudyAreaEntry(self.context, "key2", "value_two") studyArea = GenericMetadata.readStudyAreaEntries(self.context) self.assertTrue(studyArea["key1"] == "value_one") GenericMetadata.writeClimatePointEntry(self.context, "key1", "value_one") GenericMetadata.writeClimatePointEntry(self.context, "key2", "value_two") climatePoint = GenericMetadata.readClimatePointEntries(self.context) self.assertTrue(climatePoint["key1"] == "value_one") GenericMetadata.writeClimateGridEntry(self.context, "key1", "value_one") GenericMetadata.writeClimateGridEntry(self.context, "key2", "value_two") climateGrid = GenericMetadata.readClimateGridEntries(self.context) self.assertTrue(climateGrid["key1"] == "value_one") GenericMetadata.writeHydroShareEntry(self.context, "resource_id", "fae3688aa1354fb2a558380669229a66") hydroshare = GenericMetadata.readHydroShareEntries(self.context) self.assertTrue(hydroshare["resource_id"] == "fae3688aa1354fb2a558380669229a66")