@@ -66,12 +66,13 @@ def get_used_variables(self):
6666
6767
6868 # Query DetailedResultInfo/series object is for Display purposes
69- def get_all_series (self ):
69+ def get_all_series (self , sitePid = None ):
7070 """
7171 Returns all series as a modelObject
7272 :return: List[Series]
7373 """
7474 setSchema (self ._session_factory .engine )
75+
7576 return self .read .getDetailedResultInfo ('Time Series Coverage' )
7677
7778 def get_series (self , series_id = None ):
@@ -319,7 +320,7 @@ def get_method_by_code(self, method_code):
319320
320321
321322 # Series Catalog methods
322- def get_series_by_id_quint (self , result ):
323+ def resultExists (self , result ):
323324 """
324325
325326 :param site_id:
@@ -329,29 +330,29 @@ def get_series_by_id_quint(self, result):
329330 :param qcl_id:
330331 :return: Series
331332 """
332- #unique Result
333- #FeatureActionID, ResultTypeCV, VariableID, UnitsID, ProcessingLevelID, SampledMediumCV
333+ # unique Result
334+ # FeatureActionID, ResultTypeCV, VariableID, UnitsID, ProcessingLevelID, SampledMediumCV
334335
335336
336337 try :
337338 # return self._edit_session.query(Results).filter_by(
338339 # VariableID=var_id, MethodID=method_id,
339340 # AnnotationID=qcl_id).first()
340- (ret , ), = self ._session .query (exists ().
341- where (Results .FeatureActionID == result .FeatureActionID ).
342- where (Results .ResultTypeCV == result .ResultTypeCV ).
341+ res = self ._session .query (exists ().where (Results .ResultTypeCV == result .ResultTypeCV ).
343342 where (Results .VariableID == result .VariableID ).
344343 where (Results .UnitsID == result .UnitsID ).
345344 where (Results .ProcessingLevelID == result .ProcessingLevelID ).
346- wehre (Results .SampledMediumCV == result .SampledMediumCV )
347-
345+ where (Results .SampledMediumCV == result .SampledMediumCV )
346+ )
347+ # where(Results.FeatureActionID == result.FeatureActionID).
348348
349- )
350349
351- return ret
350+ return res
352351 except :
353352 return None
354353
354+
355+
355356 def get_series_from_filter (self ):
356357 # Pass in probably a Series object, match it against the database
357358 pass
@@ -402,13 +403,13 @@ def get_all_values_df(self):
402403 query = q .statement .compile (dialect = self ._session_factory .engine .dialect )
403404 data = pd .read_sql_query (sql = query , con = self ._session_factory .engine ,
404405 params = query .params )
405- columns = list (data )
406+ # columns = list(data)
406407
407408 # columns.insert(0, columns.pop(columns.index("DataValue")))
408409 # columns.insert(1, columns.pop(columns.index("ValueDateTime")))
409410 #columns.insert(2, columns.pop(columns.index("QualifierID")))
410411
411- data = data .ix [:, columns ]
412+ # data = data.ix[:, columns]
412413 return data .set_index (data ['ValueDateTime' ])
413414 # q = self._edit_session.query(TimeSeriesResultValues).order_by(TimeSeriesResultValues.ValueDateTime)
414415 # query = q.statement.compile(dialect = self._session_factory.engine.dialect)
@@ -596,29 +597,29 @@ def get_current_time_and_utcoffset(self):
596597# raise Exception("Series does not exist, unable to save. Please select 'Save As'")
597598#
598599#
599- def save_new_series (self , series , dvs ):
600- """ Create as a new catalog entry
601- :param series:
602- :param data_values:
603- :return:
604- """
605- # Save As case
606- if self .series_exists (series ):
607- msg = "There is already an existing file with this information. Please select 'Save' or 'Save Existing' to overwrite"
608- logger .info (msg )
609- raise Exception (msg )
610- else :
611- try :
612- self ._edit_session .add (series )
613- self ._edit_session .commit ()
614- self .save_values (dvs )
615- #self._edit_session.add_all(dvs)
616- except Exception as e :
617- self ._edit_session .rollback ()
618- raise e
619-
620- logger .info ("A new series was added to the database, series id: " + str (series .id ))
621- return True
600+ # def save_new_series(self, series, dvs):
601+ # """ Create as a new catalog entry
602+ # :param series:
603+ # :param data_values:
604+ # :return:
605+ # """
606+ # # Save As case
607+ # if self.series_exists(series):
608+ # msg = "There is already an existing file with this information. Please select 'Save' or 'Save Existing' to overwrite"
609+ # logger.info(msg)
610+ # raise Exception(msg)
611+ # else:
612+ # try:
613+ # self._edit_session.add(series)
614+ # self._edit_session.commit()
615+ # self.save_values(dvs)
616+ # #self._edit_session.add_all(dvs)
617+ # except Exception as e:
618+ # self._edit_session.rollback()
619+ # raise e
620+ #
621+ # logger.info("A new series was added to the database, series id: "+str(series.id))
622+ # return True
622623
623624
624625 def update_values (self , updates ):
@@ -706,7 +707,7 @@ def create_new_series(self, data_values, site_id, variable_id, method_id, source
706707 series .source_id = source_id
707708 series .quality_control_level_id = qcl_id
708709
709- return self .create_service .createResult (series )
710+ return self .create_service .getResult (series )
710711
711712 def create_method (self , description , link ):
712713 """
@@ -777,6 +778,23 @@ def create_annotation(self, code, text, link=None):
777778
778779 return self .create_annotation_by_anno (annotation )
779780
781+ def add_annotations (self , anno_list ):
782+ try :
783+ #tablename = TimeSeriesResultValueAnnotations.__tablename__
784+ #print ("I am TS saving name the table name", tablename)
785+ anno_list .to_sql (name = "TimeSeriesResultValueAnnotations" ,
786+ schema = TimeSeriesResultValueAnnotations .__table_args__ ['schema' ],
787+ if_exists = 'append' ,
788+ chunksize = 1000 ,
789+ con = self ._session_factory .engine ,
790+ index = False )
791+ self ._session .commit ()
792+
793+ return anno_list
794+ except Exception as e :
795+ print (e )
796+ return None
797+
780798
781799 def get_vertical_datum_cvs (self ):
782800 return self .read .getCVs (type = "Elevation Datum" )
@@ -834,10 +852,21 @@ def get_all_annotations(self):
834852
835853 def get_annotations_by_result (self , resultid ):
836854 setSchema (self ._session_factory .engine )
837- ids = [x [0 ] for x in self .read ._session .query (TimeSeriesResultValues .ValueID )\
838- .filter (TimeSeriesResultValues .ResultID == resultid ).all ()]
839- return self .read ._session .query (TimeSeriesResultValueAnnotations )\
840- .filter (TimeSeriesResultValueAnnotations .ValueID .in_ (ids )).all ()
855+
856+ # ids = [x[0] for x in self.read._session.query(TimeSeriesResultValues.ValueID)\
857+ # .filter(TimeSeriesResultValues.ResultID == resultid).all()]
858+ # q = self.read._session.query(TimeSeriesResultValueAnnotations)\
859+ # .filter(TimeSeriesResultValueAnnotations.ValueID.in_(ids)).all()
860+
861+ q = self .read ._session .query (TimeSeriesResultValueAnnotations .AnnotationID , TimeSeriesResultValueAnnotations .ValueID ,
862+ TimeSeriesResultValues .ResultID , TimeSeriesResultValues .ValueDateTime )\
863+ .filter (TimeSeriesResultValues .ResultID == resultid )\
864+ .filter (TimeSeriesResultValueAnnotations .ValueID == TimeSeriesResultValues .ValueID )
865+
866+ query = q .statement .compile (dialect = self ._session_factory .engine .dialect )
867+ data = pd .read_sql_query (sql = query , con = self ._session_factory .engine ,
868+ params = query .params )
869+ return data
841870
842871 def get_aggregation_statistic (self ):
843872 return self .read .getCVs (type = "aggregationstatistic" )
0 commit comments