Skip to content

Commit 1e16a64

Browse files
author
Francisco Arrieta
committed
Updating the cv service
Rename to ReadService. Mapped the methods to use the ReadOMD2 class in OMD2api
1 parent ba4cfd5 commit 1e16a64

File tree

4 files changed

+20
-48
lines changed

4 files changed

+20
-48
lines changed

odmtools/odmservices/cv_service.py renamed to odmtools/odmservices/ReadService.py

+14-42
Original file line numberDiff line numberDiff line change
@@ -1,88 +1,63 @@
1-
# CV imports
21
from odmtools.odmdata import SessionFactory
32
from odmtools.odmdata import VerticalDatumCV
4-
from odmtools.odmdata import SiteTypeCV
5-
from odmtools.odmdata import VariableNameCV
6-
from odmtools.odmdata import SpeciationCV
7-
from odmtools.odmdata import SampleMediumCV
83
from odmtools.odmdata import ValueTypeCV
9-
from odmtools.odmdata import DataTypeCV
104
from odmtools.odmdata import GeneralCategoryCV
11-
from odmtools.odmdata import CensorCodeCV
12-
from odmtools.odmdata import TopicCategoryCV
13-
from odmtools.odmdata import SampleTypeCV
14-
from odmtools.odmdata import OffsetType
15-
from odmtools.odmdata import Sample
16-
from odmtools.odmdata import Qualifier
175
from odmtools.odmdata import Unit
186
from sqlalchemy import not_
197
from odm2api.ODM2.services.readService import ReadODM2
208

219

22-
class CVService(): # Rename to ReadService
10+
class ReadService:
2311
# Accepts a string for creating a SessionFactory, default uses odmdata/connection.cfg
2412
def __init__(self, connection_string="", debug=False):
2513
self._session_factory = SessionFactory(connection_string, debug)
2614
self._edit_session = self._session_factory.getSession()
2715
self._debug = debug
2816
self.read_service = ReadODM2(self._session_factory, debug=self._debug)
2917

30-
3118
# Controlled Vocabulary get methods
32-
3319
#return a list of all terms in the cv
3420
def get_vertical_datum_cvs(self):
3521
result = self._edit_session.query(VerticalDatumCV).order_by(VerticalDatumCV.term).all()
3622
return result
3723

3824
def get_samples(self):
39-
result = self._edit_session.query(Sample).order_by(Sample.lab_sample_code).all()
40-
return result
25+
return self.read_service.getSamplingFeatures(ids=None, codes=None, uuids=None, type=None, wkt=None)
4126

4227
def get_site_type_cvs(self):
43-
result = self._edit_session.query(SiteTypeCV).order_by(SiteTypeCV.term).all()
44-
return result
28+
return self.read_service.getCVs(type="Site Type") # OR return self.read_service.getCVs(type="Sampling Feature Type")
4529

4630
def get_variable_name_cvs(self):
47-
result = self._edit_session.query(VariableNameCV).order_by(VariableNameCV.term).all()
48-
return result
31+
return self.read_service.getCVs(type="Variable Name")
4932

5033
def get_offset_type_cvs(self):
51-
result = self._edit_session.query(OffsetType).order_by(OffsetType.id).all()
52-
return result
34+
return self.read_service.getCVs(type="Spatial Offset Type")
5335

5436
def get_speciation_cvs(self):
55-
result = self._edit_session.query(SpeciationCV).order_by(SpeciationCV.term).all()
56-
return result
57-
# return self.read_service.getCVs(type="Speciation") # Returns Error running Query,
37+
return self.read_service.getCVs(type="Speciation")
5838

5939
def get_sample_medium_cvs(self):
60-
result = self._edit_session.query(SampleMediumCV).order_by(SampleMediumCV.term).all()
61-
return result
40+
return self.read_service.getCVs(type="Medium")
6241

6342
def get_value_type_cvs(self):
6443
result = self._edit_session.query(ValueTypeCV).order_by(ValueTypeCV.term).all()
6544
return result
6645

6746
def get_data_type_cvs(self):
68-
result = self._edit_session.query(DataTypeCV).order_by(DataTypeCV.term).all()
69-
return result
47+
return self.read_service.getCVs(type="dataset type")
7048

7149
def get_general_category_cvs(self):
7250
result = self._edit_session.query(GeneralCategoryCV).order_by(GeneralCategoryCV.term).all()
7351
return result
7452

7553
def get_censor_code_cvs(self):
76-
result = self._edit_session.query(CensorCodeCV).order_by(CensorCodeCV.term).all()
77-
return result
54+
return self.read_service.getCVs(type="censorcode")
7855

7956
def get_sample_type_cvs(self):
80-
result = self._edit_session.query(SampleTypeCV).order_by(SampleTypeCV.term).all()
81-
return result
57+
return self.read_service.getCVs(type="Sampling Feature Type")
8258

8359
def get_units(self):
84-
result = self._edit_session.query(Unit).all()
85-
return result
60+
return self.read_service.getUnits(ids=None, name=None, type=None)
8661

8762
def get_units_not_uni(self):
8863
result = self._edit_session.query(Unit).filter(not_(Unit.name.contains('angstrom'))).all()
@@ -94,16 +69,13 @@ def get_units_names(self):
9469

9570
# return a single cv
9671
def get_unit_by_name(self, unit_name):
97-
result = self._edit_session.query(Unit).filter_by(name=unit_name).first()
98-
return result
72+
return self.read_service.getUnits(name=unit_name)
9973

10074
def get_unit_by_id(self, unit_id):
101-
result = self._edit_session.query(Unit).filter_by(id=unit_id).first()
102-
return result
75+
return self.read_service.getUnits(ids=unit_id)
10376

10477
def get_annotation_by_code(self, code):
105-
self.read_service.getAnnotations(type=code)
106-
return
78+
return self.read_service.getAnnotations(type=code)
10779

10880
def get_all_annotations(self):
10981
return self.read_service.getAnnotations(type=None)

odmtools/odmservices/__init__.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from service_manager import ServiceManager
22
from series_service import SeriesService
3-
from cv_service import CVService
3+
from ReadService import ReadService
44
from edit_service import EditService
55
from export_service import ExportService
66

@@ -11,7 +11,7 @@
1111

1212
__all__ = [
1313
'EditService',
14-
'CVService',
14+
'ReadService',
1515
'SeriesService',
1616
'ExportService',
1717
'ServiceManager',

odmtools/odmservices/service_manager.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
from odmtools.common.logger import LoggerTool
1010
from series_service import SeriesService
11-
from cv_service import CVService
11+
from ReadService import ReadService
1212
from edit_service import EditService
1313
from odmtools.controller import EditTools
1414
from export_service import ExportService
@@ -153,7 +153,7 @@ def get_series_service(self, conn_dict=""):
153153

154154
def get_cv_service(self):
155155
conn_string = self._build_connection_string(self._current_conn_dict)
156-
return CVService(conn_string, self.debug)
156+
return ReadService(conn_string, self.debug)
157157

158158
def get_edit_service(self, series_id, connection):
159159

tests/test_odmservices/test_cv_service.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from odmtools.odmservices import CVService
1+
from odmtools.odmservices import ReadService
22
from tests import test_util
33

44

@@ -8,7 +8,7 @@
88
class TestCVService:
99
def setup(self):
1010
self.connection_string = "sqlite:///:memory:"
11-
self.cv_service = CVService(self.connection_string, debug=False)
11+
self.cv_service = ReadService(self.connection_string, debug=False)
1212
self.session = self.cv_service._session_factory.getSession()
1313
engine = self.cv_service._session_factory.engine
1414
test_util.build_db(engine)

0 commit comments

Comments
 (0)