Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topds4 #4246

Merged
merged 35 commits into from
Jan 12, 2021
Merged

Topds4 #4246

merged 35 commits into from
Jan 12, 2021

Conversation

jessemapel
Copy link
Contributor

@jessemapel jessemapel commented Jan 8, 2021

Description

Adds a new application to render PDS4 labels and an output cube for archiving. The app uses the Inja templating engine to render the output label file using data from the cube and other sources specified by the user. We also converted the cubeatt program to a callable and all of its tests so that we could use it inside of the new topds4 program. Included in this PR are tools to convert PVL and XML data to JSON as that is the data format Inja uses.

Related Issue

PDS4 templating project

Motivation and Context

The current export programs use a mixture of translation tables and hard-coded logic. This new system puts all of the work into the template file and allows for greater user flexibility without having to make code changes.

How Has This Been Tested?

Tested on an independent branch in Jenkins and locally on Ubuntu and MacOS 14.

All new code also has tests that cover the full extent of their functionality.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Documentation change (update to the documentation; no code change)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have read and agree to abide by the Code of Conduct
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have added myself to the .zenodo.json document.
  • I have added any user impacting changes to the CHANGELOG.md document.

Licensing

This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words:

This work is free and unencumbered software released into the public domain. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain.

  • I dedicate any and all copyright interest in this software to the public domain. I make this dedication for the benefit of the public at large and to the detriment of my heirs and successors. I intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

scsides and others added 24 commits November 23, 2020 08:25
* Removed compile and deprication warnings. Fixes #4110

* temp add of to pds 4 test

* Inintal topds4 app and cmake updates to include inja

* Delete extra headers

* Fixed inja include

Co-authored-by: ssides <ssides@usgs.gov>
* Pvl to JSON conversion

* Renamed file

* Added repeated elements and examples
* now has some real parameters

* removed inja files
* now has some real parameters

* removed inja files

* full orex xml

* add full orex template
* Inintal topds4 app and cmake updates to include inja

* Delete extra headers

* Fixed inja include

* Added basic working XMLToJson functionality

* Updated to work with many nested levels of different amounts of repeated tags

* Add support for unsupported xml edge cases

* Add tests that work to test mutliple nested repeated values conversion

* cleanup

* Update to include no-text value cases to work in repeated-value cases

* Update test

* Break up tests

* Fix typoes in comments
* Removed data source args and added app log

* Added simple tests for topds4

* Moved line
* now has some real parameters

* removed inja files

* full orex xml

* add full orex template

* More template elements, and file size callback
* Added extra parameters

* Added duplicate warnings

* Fixed warning
* Basic cubeatt conversion

* Add more useful function signature

* Removed hardcoded path

* Update based on feedback

* Add better band test

* Updated to fix failing tests and remove old testfiles
* Fixed callbacks and doc updates

* added some extra docs
…t directly (#4244)

* Update cubeatt to add cubeattributeinput option. Also add tests for all function signatures available

* Remove unnecessary comments

* Update to use explicit array conversion.

* Remove commented out code
@jessemapel
Copy link
Contributor Author

This is a draft as we still need a CHANGELOG entry. Gotta advertise our shiny new program.

@jessemapel jessemapel marked this pull request as ready for review January 8, 2021 21:20
scsides
scsides previously approved these changes Jan 11, 2021
isis/src/base/apps/topds4/topds4.xml Outdated Show resolved Hide resolved
kberryUSGS
kberryUSGS previously approved these changes Jan 11, 2021
Copy link
Contributor

@kberryUSGS kberryUSGS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The CI errors match the errors on nightly, so I think this is good to merge.

@scsides scsides merged commit f5b435e into dev Jan 12, 2021
@kberryUSGS
Copy link
Contributor

🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants