- Bugfix: Fixed a problem with archivefiles methods when filtering by extension and the query returned no rows
- New feature: The token provided is now sanitized to avoid typos and copy-paste related issues when creating the onc object
- New feature: New real-time methods added after the latest API update: getDirectByLocation() and getDirectByDevice(). They allow to download scalar data either using a location and device category code or a device code. getDirectByScalar() is only kept for backwards compatibility and will be deprecated in the future.
- New feature: Added the helper method formatUtc() to facilitate the creation of ISO8601 UTC strings.
- Bugfix: After a bugfix in the underlying API, data product delivery methods now can download metadata files even when they are not instantly ready.
- Bugfix: Solved a cosmetic bug when printing messages on skipped downloaded files.
- Bugfix: Solved a bug that affected repeated calls of archive file methods when the "extension" filter was used.
- Change: The methods
getListByDevice() now receive all their filters in a single parameter, to be consistent with all the other class methods.
- Completed the current cycle of redesign, refactorization and feature completion. Current functionality now enters a maintenance phase.
- New feature: (scalardata, rawdata, archivefiles) When downloading multiple pages of data, verbose progress messages and an estimate of pages / completion time are printed
- When downloading files, status codes now appear as a human-readable string: 200 "completed", 40x "error", or "skipped" when an existing file was not overwritten
- Bugfix: Solved an error when manually downloading a data product using downloadDataProduct() with downloadResultsOnly=True
- Bugfix: Solved a problem where the extension filter in archivefiles methods would match filenames with extensions that ended in the filter, instead of exactly matching it.
- Bugfix: (orderDataProduct) Now handles cases when the API doesn't return the "estimatedProcessingTime"
- If a file to download already exists, it won't be re-downloaded and an exception won't be raised anymore (you can re-download files adding the parameter overwrite=True)
- ONC class properties (outPath, token, showInfo) are now directly editable
- New feature: real-time methods (getDirectScalar, getDirectRaw) and archivefile methods (getListByLocation, getListByDevice, getDirectFiles) will automatically download all pages when the rowLimit (100,000 results) is exceeded. The result will contain the concatenated data.
- New feature: archivefile methods now support the artificial filter "extension" which will filter returned file lists by extension (ej: "extension": "mp3" will return a list of mp3 files)
- getDirectFiles now properly downloads the files it finds (the originally desired behavior), and returns a Dictionary with the download information for each file (if you only need a file list, use getListByLocation or getListByDevice instead)
- Bugfix: The ONC class now supports an empty outPath
- Various minor bugfixes
- Bugfix: Message that prints the requested url lacked a "?" symbol
- Refactorization: ONC is now a wrapper for internal classes that group functionality for discovery, delivery, real time and archive file requests.
- Python 2 support dropped in preparation to the upcoming official end of life of Python 2.
- Removed deprecated methods
- Returned true/false values now are always of type boolean
- ONC class' outPath default value is now "output"
- Errors now raise a Python exception. The exception argument contains detailed information of the error. Scripts with error will terminate on unhandled exceptions automatically.
- ONC's maxRetries supports the value "0" for no max limit
- orderDataProduct(), getFile() and getDirectFiles() now have the "overwrite" boolean argument. When overwrite is True, downloaded files will overwrite existing files with the same name.
- orderDataProduct() response structure was updated according to the current responses of the API
- getListByLocation() and getListByDevice() now receive all filters in the filters parameter.
- getListByLocation() and getListByDevice() support the extra filter "extension"
- Lots of refactorization
- Various code improvements to deal with an issue that would throw an InsecureRequestWarning in certain configurations.
- Added timeout parameter to the onc class constructor
- Solved a bug that would prevent the onc package from updating the code
- Added new archivefile API wrapper functions: getListByLocation(), getListByDevice(), getFile()
- Updated the PyPI deployment scripts to accommodate new PyPI requirements
- Added Apache 2.0 license (package previously licensed as both Apache 2.0 and MIT)
- All package versions can be downloaded from the PyPI project at https://pypi.org/project/onc/#history
- Added UserTestCase_EMP_UTC_001.py to demonstrate use of discovery services
- Added UserTestCase_EMP_UTC_004.py to demonstrate use of archivefiles service
- Updated getDirectFiles() for changes in archivefiles service
- Updated user test case scripts for change of begin/end to dateFrom/dateTo
- Added UserTestCase_EMP_UTC*.py scripts to demonstrate use of client library functions
- Updated getDirectScalar*() functions for changes in scalardata service
- Added getLocationHerarchy() function to access getTree method of locations service
- Changed string testing for compatibility with Python V2
- Added getDirectRawBy*() functions for changes in rawdata service
- Updated orderDataProduct() function to handle estimatedProcessingTime string format
- Updated downloadDataProduct() function to throttle calls using onc.callsPerSecond when downloadResultsOnly=True
|1.18||08/23/2017||Added getDeployments() function.Updated QA url from http://qaweb2.neptune.uvic.ca to https://qa.oceannetworks.ca.Updated production url to https.|
|1.17||08/15/2017||Added file parameter defult to the download() function.|
|1.16||08/11/2017||Rename 'parameters' parameter to 'filters' in all applicable ONC class functions|
|1.15||08/03/2017||Updated production url from http://dmas.uvic.ca/ to http://data.oceannetworks.ca.|
|1.14||08/01/2017||Resolved issue with getDataProductUrls method.|
|1.13||07/31/2017||Renamed getJsonFromUrl() function to decodeJsonFromUrl().|
|1.12||06/23/2017||Refactored scalar and raw data access methods.Removed print methods for testing services.Renamed private functions.Added numpy references.|
|1.11||06/13/2017||Removed unused numpy dependency.Added python-dateutil dependency to package.|
|1.1||06/12/2017||Rename onc.dap.DAP class to onc.dap.ERDDAP.|