VForWaTer / metacatalog

Modular metadata management platform for environmental data.
https://vforwater.github.io/metacatalog
GNU General Public License v3.0
4 stars 1 forks source link

ISO19115 basic functionalities #264

Closed AlexDo1 closed 1 year ago

AlexDo1 commented 1 year ago

This Pull Request adds the standard_export extension to metacatalog. The extension adds a method to the Entry class which gives functionality to export the ImmutableResultSet of the Entry as ISO 19115.

In the extension, utility functions are included to infer needed information for ISO export from ImmutableResultSets. Furthermore, a jinja2 XML template is included, which renders the inferred information into the ISO XML file.

mmaelicke commented 1 year ago

@AlexDo1 There is a merge conflict about version numbers. There seems to be a version pushed to the iso branch, but I don't get how this can be higher than the one in main. iso can't be pulled from a branch that is ahead of main in the first place, so where is version 0.7.7 coming from? Can't find it on PyPI either. I guess this is a mistake?

AlexDo1 commented 1 year ago

@AlexDo1 There is a merge conflict about version numbers. There seems to be a version pushed to the iso branch, but I don't get how this can be higher than the one in main. iso can't be pulled from a branch that is ahead of main in the first place, so where is version 0.7.7 coming from? Can't find it on PyPI either. I guess this is a mistake?

Yes, that's a mistake, I changed the version number to 0.7.7 for versionadded in the docstrings. I will change the version back to what it was before.

mmaelicke commented 1 year ago

Yes, that's a mistake, I changed the version number to 0.7.7 for versionadded in the docstrings. I will change the version back to what it was before.

Ok. But only the version. Not the docstrings, as the next version will be 0.7.7

codecov[bot] commented 1 year ago

Codecov Report

Merging #264 (da47d06) into main (edfc738) will increase coverage by 5.07%. The diff coverage is 78.87%.

:exclamation: Current head da47d06 differs from pull request most recent head a9dc833. Consider uploading reports for the commit a9dc833 to get more accurate results

@@            Coverage Diff             @@
##             main     #264      +/-   ##
==========================================
+ Coverage   58.42%   63.49%   +5.07%     
==========================================
  Files          75       75              
  Lines        3591     3693     +102     
==========================================
+ Hits         2098     2345     +247     
+ Misses       1493     1348     -145     
Flag Coverage Δ
e2e 63.49% <78.87%> (+5.07%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
metacatalog/api/add.py 52.21% <0.00%> (+2.94%) :arrow_up:
metacatalog/api/db.py 81.90% <ø> (ø)
metacatalog/api/show.py 13.33% <ø> (ø)
metacatalog/command_line.py 89.74% <ø> (-0.13%) :arrow_down:
metacatalog/db/revisions/__init__.py 100.00% <ø> (ø)
metacatalog/ext/__init__.py 68.75% <ø> (+19.81%) :arrow_up:
metacatalog/ext/base.py 81.81% <ø> (+1.81%) :arrow_up:
metacatalog/ext/io/extension.py 100.00% <ø> (ø)
metacatalog/ext/io/interface.py 80.48% <ø> (ø)
metacatalog/models/license.py 77.14% <ø> (ø)
... and 24 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

AlexDo1 commented 1 year ago

Is there a possibility to add to requirements.txt inside an extension, as jinja2 and lxml are only required if the standards_export extension is activated.
And do we want to activate the extension by default?

mmaelicke commented 1 year ago

I would not activate it by default.

We need a import flag that indicates if all requirements were met. The extension activation function should then check if everything is there. The user has to take care of that.

AlexDo1 commented 1 year ago

I would not activate it by default.

We need a import flag that indicates if all requirements were met. The extension activation function should then check if everything is there. The user has to take care of that.

Yes, but we need to install all required packages to run the unittests for extensions.

mmaelicke commented 1 year ago

You need to add the extension in the CI to the activated extensions and also add the additional requirements

mmaelicke commented 1 year ago

Nice! This earns the next minor version...