Skip to content

Commit 9fdffd4

Browse files
author
Francisco Arrieta
committed
#293 Mapping the create methods to the new series service in omd2
This broke a few things due to the update
1 parent 1e16a64 commit 9fdffd4

File tree

3 files changed

+39
-42
lines changed

3 files changed

+39
-42
lines changed

odmtools/odmservices/series_service.py

+38-40
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,16 @@
66

77
from odmtools.odmdata import SessionFactory
88
from odmtools.odmdata import Site
9-
from odmtools.odmdata import Variable
9+
# from odmtools.odmdata import Variable
10+
from odm2api.ODM2.models import Variables
1011
from odmtools.odmdata import Unit
1112
from odmtools.odmdata import Series
1213
from odmtools.odmdata import DataValue
1314
from odmtools.odmdata import Qualifier
1415
from odmtools.odmdata import OffsetType
1516
from odmtools.odmdata import Sample
16-
from odmtools.odmdata import Method
17+
# from odmtools.odmdata import Method
18+
from odm2api.ODM2.models import Methods
1719
from odmtools.odmdata import QualityControlLevel
1820
from odmtools.odmdata import ODMVersion
1921
from odmtools.common.logger import LoggerTool
@@ -107,7 +109,7 @@ def get_used_variables(self):
107109

108110
#create list of variables from the list of ids
109111
for var_id in var_ids:
110-
Variables.append(self._edit_session.query(Variable).filter_by(id=var_id).first())
112+
Variables.append(self._edit_session.query(Variables).filter_by(id=var_id).first())
111113

112114
return Variables
113115

@@ -116,7 +118,7 @@ def get_all_variables(self):
116118
117119
:return: List[Variables]
118120
"""
119-
return self._edit_session.query(Variable).all()
121+
return self._edit_session.query(Variables).all()
120122

121123
def get_variable_by_id(self, variable_id):
122124
"""
@@ -125,7 +127,7 @@ def get_variable_by_id(self, variable_id):
125127
:return: Variables
126128
"""
127129
try:
128-
return self._edit_session.query(Variable).filter_by(id=variable_id).first()
130+
return self._edit_session.query(Variables).filter_by(id=variable_id).first()
129131
except:
130132
return None
131133

@@ -136,7 +138,7 @@ def get_variable_by_code(self, variable_code):
136138
:return: Variables
137139
"""
138140
try:
139-
return self._edit_session.query(Variable).filter_by(code=variable_code).first()
141+
return self._edit_session.query(Variables).filter_by(code=variable_code).first()
140142
except:
141143
return None
142144

@@ -154,7 +156,7 @@ def get_variables_by_site_code(self, site_code): # covers NoDV, VarUnits, TimeU
154156

155157
variables = []
156158
for var_id in var_ids:
157-
variables.append(self._edit_session.query(Variable).filter_by(id=var_id).first())
159+
variables.append(self._edit_session.query(Variables).filter_by(id=var_id).first())
158160

159161
return variables
160162

@@ -234,18 +236,18 @@ def get_qcl_by_code(self, qcl_code):
234236

235237
# Method methods
236238
def get_all_methods(self):
237-
return self._edit_session.query(Method).all()
239+
return self._edit_session.query(Methods).all()
238240

239241
def get_method_by_id(self, method_id):
240242
try:
241-
result = self._edit_session.query(Method).filter_by(id=method_id).first()
243+
result = self._edit_session.query(Methods).filter_by(id=method_id).first()
242244
except:
243245
result = None
244246
return result
245247

246248
def get_method_by_description(self, method_code):
247249
try:
248-
result = self._edit_session.query(Method).filter_by(description=method_code).first()
250+
result = self._edit_session.query(Methods).filter_by(description=method_code).first()
249251
except:
250252
result = None
251253
logger.error("method not found")
@@ -566,21 +568,19 @@ def create_method(self, description, link):
566568
:param link:
567569
:return:
568570
"""
569-
meth = Method()
570-
meth.description = description
571+
method = Methods()
572+
method.MethodDescription = description
571573
if link is not None:
572-
meth.link = link
574+
method.MethodLink = link
573575

574-
self.create_service.createMethod(method=meth)
575-
return meth
576+
return self.create_service.createMethod(method=method)
576577

577578
def create_variable_by_var(self, var):
578579
"""
579580
:param var: Variable Object
580581
:return:
581582
"""
582-
self.create_service.createVariable(var=var)
583-
return var
583+
return self.create_service.createVariable(var=var)
584584

585585
def create_variable(
586586
self, code, name, speciation, variable_unit_id, sample_medium,
@@ -601,22 +601,23 @@ def create_variable(
601601
:param no_data_value:
602602
:return:
603603
"""
604-
var = Variable()
605-
var.code = code
606-
var.name = name
607-
var.speciation = speciation
608-
var.variable_unit_id = variable_unit_id
609-
var.sample_medium = sample_medium
610-
var.value_type = value_type
611-
var.is_regular = is_regular
612-
var.time_support = time_support
613-
var.time_unit_id = time_unit_id
614-
var.data_type = data_type
615-
var.general_category = general_category
616-
var.no_data_value = no_data_value
617-
618-
self.create_service.createVariable(var=var)
619-
return var
604+
# var = Variable()
605+
variable = Variables()
606+
variable.VariableCode = code
607+
variable.VariableNameCV = name
608+
variable.SpeciationCV = speciation
609+
# Commented lines indicate that Variables does not have such attributes
610+
# var.variable_unit_id = variable_unit_id
611+
# var.sample_medium = sample_medium
612+
# var.value_type = value_type
613+
# var.is_regular = is_regular
614+
# var.time_support = time_support
615+
# var.time_unit_id = time_unit_id
616+
# var.data_type = data_type
617+
# var.general_category = general_category
618+
variable.NoDataValue = no_data_value
619+
620+
return self.create_service.createVariable(var=variable)
620621

621622
def create_qcl(self, code, definition, explanation):
622623
"""
@@ -630,13 +631,10 @@ def create_qcl(self, code, definition, explanation):
630631
qcl.code = code
631632
qcl.definition = definition
632633
qcl.explanation = explanation
633-
self.create_service.createProcessingLevel(proclevel=qcl)
634-
635-
return qcl
634+
return self.create_service.createProcessingLevel(proclevel=qcl)
636635

637636
def create_annotation_by_anno(self, annotation):
638-
self.create_service.create(annotation)
639-
return annotation
637+
return self.create_service.create(annotation)
640638

641639
def create_annotation(self, code, description):
642640
"""
@@ -779,7 +777,7 @@ def method_exists(self, m):
779777
:return:
780778
"""
781779
try:
782-
result = self._edit_session.query(Method).filter_by(description=m.description).one()
780+
result = self._edit_session.query(Methods).filter_by(description=m.description).one()
783781
return True
784782
except:
785783
return False
@@ -791,7 +789,7 @@ def variable_exists(self, v):
791789
:return:
792790
"""
793791
try:
794-
result = self._edit_session.query(Variable).filter_by(code=v.code,
792+
result = self._edit_session.query(Variables).filter_by(code=v.code,
795793
name=v.name, speciation=v.speciation,
796794
variable_unit_id=v.variable_unit_id,
797795
sample_medium=v.sample_medium,

tests/test_odmservices/test_cv_service.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
session = None
66

77

8-
class TestCVService:
8+
class TestReadService:
99
def setup(self):
1010
self.connection_string = "sqlite:///:memory:"
1111
self.cv_service = ReadService(self.connection_string, debug=False)

tests/test_odmservices/test_series_service.py

-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ def test_get_all_sites(self):
104104
if isinstance(sites, list) and len(sites) > 0:
105105
assert site.code == sites[0].code
106106

107-
108107
def test_get_site_by_id_fail(self):
109108
assert self.series_service.get_site_by_id(0) == None
110109

0 commit comments

Comments
 (0)