Skip to content

Commit 96e3c6c

Browse files
author
stephanie
committed
update annotations query
1 parent 3fbf3a9 commit 96e3c6c

2 files changed

Lines changed: 29 additions & 12 deletions

File tree

odmtools/odmdata/memory_database.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,12 +68,14 @@ def getDataValuesDF(self):
6868
#else:
6969
# self.updateDF()
7070
'''
71+
setSchema(self.mem_service._session_factory.engine)
7172
self.updateDF()
7273
# pick up thread here before it is needed
7374
logging.debug("done updating memory dataframe")
7475
return self.df
7576

7677
def getDataValues(self):
78+
setSchema(self.mem_service._session_factory.engine)
7779
return self.mem_service.get_all_values()
7880

7981
def getEditRowCount(self):

odmtools/odmservices/series_service.py

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ def get_all_values_df(self):
391391
392392
:return: Pandas DataFrame object
393393
"""
394-
q = self._edit_session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime)
394+
q = self.read._session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime)
395395
query = q.statement.compile(dialect=self._session_factory.engine.dialect)
396396
data = pd.read_sql_query(sql=query, con=self._session_factory.engine,
397397
params=query.params)
@@ -416,11 +416,11 @@ def get_all_values_list(self):
416416
417417
:return:
418418
"""
419-
result = self._edit_session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime).all()
419+
result =self.read._session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime).all()
420420
return [x.list_repr() for x in result]
421421

422422
def get_all_values(self):
423-
return self._edit_session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime).all()
423+
return self.read._session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime).all()
424424
#
425425
@staticmethod
426426
def calcSeason(row):
@@ -520,12 +520,15 @@ def get_all_plot_values(self):
520520
# Create functions
521521
#
522522
#####################
523-
def save(self, result = None):
523+
524+
525+
def save(self, values, result = None):
524526
#update result
525527
#upsert values
526528
#save series
529+
#save new annotations
527530
pass
528-
def saveAppend(self, overwrite = True):
531+
def saveAppend(self,value, overwrite = True):
529532
#get save result
530533
#get value count
531534
#set in df
@@ -534,17 +537,22 @@ def saveAppend(self, overwrite = True):
534537
#set value count = res.vc+valuecount-count
535538
#insert values
536539
#save series
540+
#save new annotations
537541
pass
538-
def saveAs(self):
542+
def saveAs(self, values):
539543
#create series
540544
#set in df
541545
#insert values
542546
#save_new_series
547+
#get all annotations for series
548+
#save all annotations
549+
543550
pass
544-
def saveExisting(self):
551+
def saveExisting(self, values):
545552
#get save result
546553
#set in df
547-
#save(result)
554+
#save(values, result)
555+
548556
pass
549557

550558
#new series
@@ -635,15 +643,15 @@ def insert_annotations(self, annotations):
635643

636644
def upsert_values(self, values):
637645
newvals= upsert.clean_df_db_dups(df = values, tablename="timeseriesresultvalues", engine = self._session_factory.engine,
638-
filter_categorical_col= "resultdatetime" )
646+
filter_continuous_col="valuedatetime", filter_categorical_col="resultid")
639647
self.insert_values(newvals)
640648
delvals = upsert.delete(df = values, tablename="timeseriesresultvalues", engine = self._session_factory.engine,
641-
filter_categorical_col= "resultdatetime" )
649+
filter_continuous_col = "valuedatetime", filter_categorical_col = "resultid")
642650
self.delete_dvs(delvals["valuedatetime"])
643651

644652
upvals = upsert.update(df = values, tablename="timeseriesresultvalues", engine = self._session_factory.engine,
645-
filter_categorical_col= "resultdatetime" )
646-
pass
653+
filter_continuous_col="valuedatetime", filter_categorical_col="resultid")
654+
self.update(upvals)
647655

648656
def insert_values(self, values):
649657
"""
@@ -825,6 +833,13 @@ def get_annotation_by_code(self, code):
825833
def get_all_annotations(self):
826834
return self.read.getAnnotations(type=None)
827835

836+
def get_annotations_by_result(self, resultid):
837+
setSchema(self._session_factory.engine)
838+
ids = [x[0] for x in self.read._session.query(TimeSeriesResultValues.ValueID)\
839+
.filter(TimeSeriesResultValues.ResultID == resultid).all()]
840+
return self.read._session.query(TimeSeriesResultValueAnnotations)\
841+
.filter(TimeSeriesResultValueAnnotations.ValueID.in_(ids)).all()
842+
828843
def get_aggregation_statistic(self):
829844
return self.read.getCVs(type="aggregationstatistic")
830845

0 commit comments

Comments
 (0)