Skip to content

Commit 999bd61

Browse files
author
Stephanie Reeder
committed
update 1.1 version switching
1 parent bb414f2 commit 999bd61

File tree

8 files changed

+72
-236
lines changed

8 files changed

+72
-236
lines changed

src/Examples/Sample1_1.py

Lines changed: 0 additions & 89 deletions
This file was deleted.

src/api/ODM1_1_1/services/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
__author__ = 'stephanie'
22
# from cv_service import CVService, refreshDB
3-
from series_service import refreshDB, ODM, SeriesService
3+
from series_service import ODM, SeriesService
44
from edit_service import EditService
55
from export_service import ExportService
66

7-
__all__ = [ 'SeriesService', 'EditService', 'ExportService', 'ODM', 'refreshDB']
7+
__all__ = [ 'SeriesService', 'EditService', 'ExportService', 'ODM']
88
# 'CVService',
99
# def switch_service(version ):
1010
# cv_service.refreshDB(version)

src/api/ODM1_1_1/services/cv_service.py

Lines changed: 0 additions & 97 deletions
This file was deleted.

src/api/ODM1_1_1/services/series_service.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,22 @@
1212
import api.ODM2.LikeODM1.models as ODM2
1313

1414
#Set Default
15-
ODM = ODM2
16-
17-
def refreshDB(ver):
18-
if ver == 1.1:
19-
ODM = ODM1
20-
elif ver == 2.0:
21-
ODM = ODM2
22-
23-
15+
global ODM
16+
ODM = ODM1
2417

2518

2619

2720
class SeriesService(serviceBase):
2821
# Accepts a string for creating a SessionFactory, default uses odmdata/connection.cfg
2922

23+
def refreshDB(self, ver):
24+
self._version= ver
25+
if ver == 1.1:
26+
global ODM
27+
ODM = ODM1
28+
elif ver == 2.0:
29+
global ODM
30+
ODM = ODM2
3031

3132
def reset_session(self):
3233
self._session = self._session_factory.getSession() # Reset the session in order to prevent memory leaks
@@ -48,7 +49,6 @@ def get_all_sites(self):
4849
"""
4950
return self._session.query(ODM.Site).order_by(ODM.Site.code).all()
5051

51-
5252
def get_used_sites(self):
5353
"""
5454
Return a list of all sites that are being referenced in the Series Catalog Table
@@ -857,8 +857,6 @@ def get_unit_by_id(self, unit_id):
857857
return result
858858

859859

860-
861-
862860
def copy_series(from_series):
863861
new = ODM.Series()
864862
new.site_id = from_series.site_id

src/api/ODM2/LikeODM1/models.py

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -207,12 +207,15 @@ class Source(Base):
207207
@property
208208
def city(self):
209209
return "Unknown"
210+
210211
@property
211212
def state(self):
212213
return "Unknown"
214+
213215
@property
214216
def zip_code(self):
215217
return "Unknown"
218+
216219
@property
217220
def citation(self):
218221
return "Not Specified"
@@ -410,7 +413,7 @@ class Sample(Base):
410413
lab_method_id = Column('labmethodid', Integer, ForeignKey(LabMethod.id), nullable=False)
411414

412415
# relationships
413-
#lab_method = relationship(LabMethod)
416+
lab_method = relationship(LabMethod, primaryjoin = lab_method_id==LabMethod.id)
414417

415418
def __repr__(self):
416419
return "<Sample('%s', '%s', '%s', '%s')>" % (self.id, self.type, self.lab_sample_code, self.lab_method_id)
@@ -437,7 +440,7 @@ class OffsetType(Base):
437440
description = Column('offsetdescription', String)
438441

439442
# relationships
440-
unit = relationship(Unit)
443+
unit = relationship(Unit, primaryjoin =unit_id==Unit.id)
441444

442445
def __repr__(self):
443446
return "<Unit('%s', '%s', '%s')>" % (self.id, self.unit_id, self.description)
@@ -524,15 +527,15 @@ def date_time_utc(cls):
524527

525528

526529
# relationships
527-
# site = relationship(Site)
528-
# variable = relationship(Variable)
529-
# method = relationship(Method)
530-
# source = relationship(Source)
531-
# quality_control_level = relationship(QualityControlLevel)
532-
#
533-
# qualifier = relationship(Qualifier)
534-
# offset_type = relationship(OffsetType)
535-
# sample = relationship(Sample)
530+
# site = relationship(Site, primaryjoin = site_id==Site.id)
531+
variable = relationship(Variable, primaryjoin =variable_id==Variable.id)
532+
# method = relationship(Method,primaryjoin =method_id == Method.id)
533+
source = relationship(Source, primaryjoin =source_id == Source.id)
534+
# quality_control_level = relationship(QualityControlLevel, primaryjoin =quality_control_level_id==QualityControlLevel.id)
535+
536+
# qualifier = relationship(Qualifier, primaryjoin =qualifier_id==Qualifier.id)
537+
# offset_type = relationship(OffsetType, primaryjoin =offset_type_id==OffsetType.id)
538+
# sample = relationship(Sample, primaryjoin =sample_id == Sample.id)
536539

537540
def list_repr(self):
538541
return [self.id, self.data_value, self.value_accuracy, self.local_date_time,
@@ -637,9 +640,12 @@ class Series(Base):
637640
# begin_date_time_utc = None # Column('BeginDateTimeUTC', DateTime)
638641
# end_date_time_utc = None # Column('EndDateTimeUTC', DateTime)
639642
utc_offset= -7#joined_table_2.c.odm2_timeseriesresultvalues_valuedatetimeutcoffset
643+
640644
@property
641645
def begin_date_time_utc(cls):
642-
return cls.begin_date_time - timedelta(hours=cls.utc_offset)
646+
val=cls.begin_date_time - timedelta(hours=cls.utc_offset)
647+
return val
648+
643649
@property
644650
def end_date_time_utc(cls):
645651
return cls.end_date_time - timedelta(hours=cls.utc_offset)
@@ -654,11 +660,11 @@ def end_date_time_utc(cls):
654660
# order_by="DataValue.local_date_time",
655661
# backref="series")
656662
#
657-
# site = relationship(Site)
658-
# variable = relationship(Variable)
659-
# method = relationship(Method)
660-
# source = relationship(Source)
661-
# quality_control_level = relationship(QualityControlLevel)
663+
# site = relationship(Site, primaryjoin = site_id==Site.id)
664+
variable = relationship(Variable, primaryjoin= variable_id == Variable.id)
665+
# method = relationship(Method, primaryjoin= method_id ==Method.id)
666+
# source = relationship(Source, primaryjoin= source_id ==Source.id)
667+
# quality_control_level = relationship(QualityControlLevel, primaryjoin = quality_control_level_id==QualityControlLevel.id)
662668

663669
# TODO add all to repr
664670
def __repr__(self):

src/api/ODMconnection.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
from .ODM2.models import Variables as Variable2, change_schema
77
#from .versionSwitcher import ODM, refreshDB #import Variable as Variable1
8-
from .ODM1_1_1.services import ODM, refreshDB
8+
from .ODM1_1_1.services import ODM#, refreshDB
99
import urllib
1010
import sys
1111

1212

1313
class SessionFactory():
14-
def __init__(self, connection_string, echo):
14+
def __init__(self, connection_string, echo, version = 1.1):
1515
if 'sqlite' in connection_string:
1616
self.engine = create_engine(connection_string, encoding='utf-8', echo=echo)
1717
self.test_engine = self.engine
@@ -25,6 +25,7 @@ def __init__(self, connection_string, echo):
2525
# Create session maker
2626
self.Session = sessionmaker(bind=self.engine)
2727
self.test_Session = sessionmaker(bind=self.test_engine)
28+
self.version=version
2829

2930
def getSession(self):
3031
return self.Session()
@@ -50,13 +51,13 @@ def createConnection(self, engine, address, db=None, user=None, password=None, d
5051
# if self.testConnection(connection_string):
5152

5253
if self.isValidConnection(connection_string, dbtype):
53-
return SessionFactory(connection_string, echo = False)
54+
return SessionFactory(connection_string, echo = False, version= dbtype)
5455
else :
5556
return None
5657

5758
@classmethod
5859
def isValidConnection(self, connection_string, dbtype):
59-
refreshDB(dbtype)
60+
#refreshDB(dbtype)
6061

6162
if dbtype == 2.0:
6263
if self.testEngine(connection_string):
@@ -89,8 +90,6 @@ def _setSchema(self, engine):
8990
s = self._getSchema(engine)
9091
change_schema(s)
9192

92-
93-
9493
@classmethod
9594
def testEngine(self, connection_string):
9695
s = SessionFactory(connection_string, echo=False)

0 commit comments

Comments
 (0)