diff --git a/gui/src/components/Repo.js b/gui/src/components/Repo.js index 3725ca2ad55174899a49ec33f0bc904d114cb6aa..a6852618153da77b50c4218e7310cf837cffe5fc 100644 --- a/gui/src/components/Repo.js +++ b/gui/src/components/Repo.js @@ -8,7 +8,7 @@ import TablePagination from '@material-ui/core/TablePagination' import TableRow from '@material-ui/core/TableRow' import Paper from '@material-ui/core/Paper' import { TableHead, LinearProgress, FormControl, FormControlLabel, Checkbox, FormGroup, - FormLabel, IconButton, MuiThemeProvider, Typography, Tooltip, TableSortLabel, ExpansionPanelDetails, ExpansionPanelSummary, ExpansionPanel, Grid, CircularProgress } from '@material-ui/core' + FormLabel, IconButton, MuiThemeProvider, Typography, Tooltip, TableSortLabel, ExpansionPanelDetails, ExpansionPanelSummary, ExpansionPanel, Grid } from '@material-ui/core' import { compose } from 'recompose' import { withErrors } from './errors' import AnalyticsIcon from '@material-ui/icons/Settings' diff --git a/nomad/datamodel.py b/nomad/datamodel.py index 3b51af46e4671b457dc360ee75091b8b1132016e..44cb843825202bacb97c32f979951b466bea293a 100644 --- a/nomad/datamodel.py +++ b/nomad/datamodel.py @@ -148,7 +148,13 @@ class CalcWithMetadata(): def update(self, **kwargs): for key, value in kwargs.items(): + if value is None: + continue + if isinstance(value, list): + if len(value) == 0: + continue + if len(value) > 0 and isinstance(value[0], dict) and not isinstance(value[0], utils.POPO): value = list(utils.POPO(**item) for item in value) if isinstance(value, dict) and not isinstance(value, utils.POPO): diff --git a/tests/test_api.py b/tests/test_api.py index 052da11111ebac946c4f6919f4dd1e735e2600e5..a3d9d7790bb7b3417b52cbc65bcca56147e9807a 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -226,7 +226,7 @@ class TestUploads: upload_with_metadata = get_upload_with_metadata(upload) assert_upload_files(upload_with_metadata, files.StagingUploadFiles) - assert_search_upload(upload_with_metadata) + assert_search_upload(upload_with_metadata, additional_keys=['atoms', 'system']) def assert_published(self, client, test_user_auth, upload_id, proc_infra, with_coe_repo=True, metadata={}): rv = client.get('/uploads/%s' % upload_id, headers=test_user_auth)