Skip to content

Commit 7b33a34

Browse files
committed
Updates for changes to SasData class
1 parent e13528e commit 7b33a34

3 files changed

Lines changed: 23 additions & 14 deletions

File tree

sasdata/data.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,11 @@ def deserialise(data: str) -> "SasData":
8888
@staticmethod
8989
def deserialise_json(json_data: dict) -> "SasData":
9090
name = json_data["name"]
91-
data_contents = [] # deserialize Quantity
91+
data_contents = {} # deserialize Quantity
92+
dataset_type = json_data["dataset_type"]
9293
raw_metadata = Group.deserialise_json(json_data["raw_metadata"])
9394
verbose = json_data["verbose"]
94-
return SasData(name, data_contents, raw_metadata, verbose)
95+
return SasData(name, data_contents, dataset_type, raw_metadata, verbose)
9596

9697
def serialise(self) -> str:
9798
return json.dumps(self._serialise_json())
@@ -100,12 +101,11 @@ def serialise(self) -> str:
100101
def _serialise_json(self) -> dict[str, Any]:
101102
return {
102103
"name": self.name,
103-
"data_contents": [q.serialise_json() for q in self._data_contents],
104+
"data_contents": {q: self._data_contents[q].serialise_json() for q in self._data_contents},
105+
"dataset_type": None, # TODO: update when DatasetType is more finalized
104106
"raw_metadata": self._raw_metadata.serialise_json(),
105107
"verbose": self._verbose,
106-
"metadata": self.metadata.serialise_json(),
107-
"ordinate": self.ordinate.serialise_json(),
108-
"abscissae": [q.serialise_json() for q in self.abscissae],
108+
"metadata": self.metadata.serialise_json(), # TODO: fix metadata eventually
109109
"mask": {},
110110
"model_requirements": {}
111111
}

sasdata/fair_database/data/models.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,11 @@ class DataSet(Data):
5858
"MetaData", blank=True, null=True, on_delete=models.CASCADE
5959
)
6060

61-
# ordinate
62-
# ordinate = models.ForeignKey("Quantity", on_delete=models.CASCADE)
63-
64-
# abscissae
65-
# abscissae = models.ManyToManyField("Quantity", on_delete=models.CASCADE)
66-
6761
# data contents - maybe ManyToManyField
68-
# data_contents = models.JSONField()
62+
# data_contents = models.ManyToManyField("Quantity", through="LabeledQuantity")
63+
64+
# type of dataset
65+
# dataset_type = models.JSONField()
6966

7067

7168
class Quantity(models.Model):
@@ -84,6 +81,14 @@ class Quantity(models.Model):
8481
hash = models.IntegerField()
8582

8683

84+
"""
85+
class LabeledQuantity(models.Model):
86+
dataset = models.ForeignKey(DataSet, on_delete=models.CASCADE)
87+
quantity = models.ForeignKey(Quantity, on_delete=models.CASCADE)
88+
label = models.CharField(max_length=20)
89+
"""
90+
91+
8792
# TODO: revisit metadata when sasdata metadata is rewritten
8893
class MetaData(models.Model):
8994
"""Database model for scattering metadata"""

sasdata/quantities/quantity.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1020,7 +1020,11 @@ def jacobian(self) -> list[Operation]:
10201020
return [self.operation_tree.derivative(key) for key in self.reference_key_list]
10211021

10221022
def _recalculate(self):
1023-
""" Recalculate the value of this object - primary use case is for testing """
1023+
""" Recalculate the value of this object - primary use case is
1024+
1025+
1026+
1027+
for testing """
10241028
return self.operation_tree.evaluate(self.references)
10251029

10261030
def variance_propagate(self, quantity_units: Unit, covariances: dict[tuple[int, int]: "Quantity"] = {}):

0 commit comments

Comments
 (0)