Skip to content

Commit

Permalink
Updating the cv service
Browse files Browse the repository at this point in the history
Rename to ReadService. Mapped the methods to use the ReadOMD2 class in OMD2api
  • Loading branch information
Francisco Arrieta committed Oct 12, 2016
1 parent ba4cfd5 commit 1e16a64
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 48 deletions.
Original file line number Diff line number Diff line change
@@ -1,88 +1,63 @@
# CV imports
from odmtools.odmdata import SessionFactory
from odmtools.odmdata import VerticalDatumCV
from odmtools.odmdata import SiteTypeCV
from odmtools.odmdata import VariableNameCV
from odmtools.odmdata import SpeciationCV
from odmtools.odmdata import SampleMediumCV
from odmtools.odmdata import ValueTypeCV
from odmtools.odmdata import DataTypeCV
from odmtools.odmdata import GeneralCategoryCV
from odmtools.odmdata import CensorCodeCV
from odmtools.odmdata import TopicCategoryCV
from odmtools.odmdata import SampleTypeCV
from odmtools.odmdata import OffsetType
from odmtools.odmdata import Sample
from odmtools.odmdata import Qualifier
from odmtools.odmdata import Unit
from sqlalchemy import not_
from odm2api.ODM2.services.readService import ReadODM2


class CVService(): # Rename to ReadService
class ReadService:
# Accepts a string for creating a SessionFactory, default uses odmdata/connection.cfg
def __init__(self, connection_string="", debug=False):
self._session_factory = SessionFactory(connection_string, debug)
self._edit_session = self._session_factory.getSession()
self._debug = debug
self.read_service = ReadODM2(self._session_factory, debug=self._debug)


# Controlled Vocabulary get methods

#return a list of all terms in the cv
def get_vertical_datum_cvs(self):
result = self._edit_session.query(VerticalDatumCV).order_by(VerticalDatumCV.term).all()
return result

def get_samples(self):
result = self._edit_session.query(Sample).order_by(Sample.lab_sample_code).all()
return result
return self.read_service.getSamplingFeatures(ids=None, codes=None, uuids=None, type=None, wkt=None)

def get_site_type_cvs(self):
result = self._edit_session.query(SiteTypeCV).order_by(SiteTypeCV.term).all()
return result
return self.read_service.getCVs(type="Site Type") # OR return self.read_service.getCVs(type="Sampling Feature Type")

def get_variable_name_cvs(self):
result = self._edit_session.query(VariableNameCV).order_by(VariableNameCV.term).all()
return result
return self.read_service.getCVs(type="Variable Name")

def get_offset_type_cvs(self):
result = self._edit_session.query(OffsetType).order_by(OffsetType.id).all()
return result
return self.read_service.getCVs(type="Spatial Offset Type")

def get_speciation_cvs(self):
result = self._edit_session.query(SpeciationCV).order_by(SpeciationCV.term).all()
return result
# return self.read_service.getCVs(type="Speciation") # Returns Error running Query,
return self.read_service.getCVs(type="Speciation")

def get_sample_medium_cvs(self):
result = self._edit_session.query(SampleMediumCV).order_by(SampleMediumCV.term).all()
return result
return self.read_service.getCVs(type="Medium")

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

def get_data_type_cvs(self):
result = self._edit_session.query(DataTypeCV).order_by(DataTypeCV.term).all()
return result
return self.read_service.getCVs(type="dataset type")

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

def get_censor_code_cvs(self):
result = self._edit_session.query(CensorCodeCV).order_by(CensorCodeCV.term).all()
return result
return self.read_service.getCVs(type="censorcode")

def get_sample_type_cvs(self):
result = self._edit_session.query(SampleTypeCV).order_by(SampleTypeCV.term).all()
return result
return self.read_service.getCVs(type="Sampling Feature Type")

def get_units(self):
result = self._edit_session.query(Unit).all()
return result
return self.read_service.getUnits(ids=None, name=None, type=None)

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

# return a single cv
def get_unit_by_name(self, unit_name):
result = self._edit_session.query(Unit).filter_by(name=unit_name).first()
return result
return self.read_service.getUnits(name=unit_name)

def get_unit_by_id(self, unit_id):
result = self._edit_session.query(Unit).filter_by(id=unit_id).first()
return result
return self.read_service.getUnits(ids=unit_id)

def get_annotation_by_code(self, code):
self.read_service.getAnnotations(type=code)
return
return self.read_service.getAnnotations(type=code)

def get_all_annotations(self):
return self.read_service.getAnnotations(type=None)
Expand Down
4 changes: 2 additions & 2 deletions odmtools/odmservices/__init__.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from service_manager import ServiceManager
from series_service import SeriesService
from cv_service import CVService
from ReadService import ReadService
from edit_service import EditService
from export_service import ExportService

Expand All @@ -11,7 +11,7 @@

__all__ = [
'EditService',
'CVService',
'ReadService',
'SeriesService',
'ExportService',
'ServiceManager',
Expand Down
4 changes: 2 additions & 2 deletions odmtools/odmservices/service_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from odmtools.common.logger import LoggerTool
from series_service import SeriesService
from cv_service import CVService
from ReadService import ReadService
from edit_service import EditService
from odmtools.controller import EditTools
from export_service import ExportService
Expand Down Expand Up @@ -153,7 +153,7 @@ def get_series_service(self, conn_dict=""):

def get_cv_service(self):
conn_string = self._build_connection_string(self._current_conn_dict)
return CVService(conn_string, self.debug)
return ReadService(conn_string, self.debug)

def get_edit_service(self, series_id, connection):

Expand Down
4 changes: 2 additions & 2 deletions tests/test_odmservices/test_cv_service.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from odmtools.odmservices import CVService
from odmtools.odmservices import ReadService
from tests import test_util


Expand All @@ -8,7 +8,7 @@
class TestCVService:
def setup(self):
self.connection_string = "sqlite:///:memory:"
self.cv_service = CVService(self.connection_string, debug=False)
self.cv_service = ReadService(self.connection_string, debug=False)
self.session = self.cv_service._session_factory.getSession()
engine = self.cv_service._session_factory.engine
test_util.build_db(engine)
Expand Down

0 comments on commit 1e16a64

Please sign in to comment.