Skip to content

Commit

Permalink
Update statistics for new metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
hansendx committed Apr 5, 2024
1 parent 28db4ef commit cf9f985
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 4 deletions.
12 changes: 9 additions & 3 deletions ddionrails/statistics/imports.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
""" Import functions for statistical data used in data visualization."""

import json
from csv import DictReader
from glob import glob
Expand Down Expand Up @@ -29,7 +30,11 @@ def statistics_import(file: Path, study: Study) -> None:
for variable in variables:
if not variable["statistics"] == "True":
continue
_import_single_variable(variable, study)
# If meta.json is missing skip import
try:
_import_single_variable(variable, study)
except FileNotFoundError:
continue
enqueue(_metadata_import, study)
return None

Expand Down Expand Up @@ -64,7 +69,8 @@ def _metadata_import(study: Study) -> None:
{
"variable": independent_variable.variable.name,
"label": independent_variable.variable.label_de,
"values": independent_variable.labels,
"labels": independent_variable.labels,
"values": independent_variable.values,
}
for independent_variable in independent_variables.values()
],
Expand Down Expand Up @@ -108,7 +114,7 @@ def _import_independent_variables(path: Path) -> List[str]:
variable_object = Variable.objects.filter(name=datum["variable"]).first()
try:
independent_variable, _ = IndependentVariable.objects.get_or_create(
labels=datum["values"], variable=variable_object
labels=datum["labels"], values=datum["values"], variable=variable_object
)
except BaseException as error:
raise BaseException(f"{datum} {variable_object}") from error
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 5.0.2 on 2024-04-05 13:15

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("statistics", "0002_alter_variablestatistic_statistics"),
]

operations = [
migrations.AddField(
model_name="independentvariable",
name="values",
field=models.JSONField(default=list),
),
]
1 change: 1 addition & 0 deletions ddionrails/statistics/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ class IndependentVariable(models.Model):
id = models.UUIDField(primary_key=True)
variable = models.ForeignKey(to=Variable, null=False, on_delete=models.CASCADE)

values = models.JSONField(default=list)
labels = models.JSONField()

def save(
Expand Down
2 changes: 1 addition & 1 deletion docker/transfer.server

0 comments on commit cf9f985

Please sign in to comment.