@@ -230,6 +230,16 @@ def getSamplingFeatures(self, id=None, code=None, type=None, wkt=None):
230230 print e
231231 return None
232232
233+ def getRelatedSamplingFeatures (self , id ):
234+ """
235+
236+ getRelatedSamplingFeatures()
237+ * Pass a SamplingFeatureID - get a list of sampling feature objects related to the input sampling feature along with the relationship type
238+ """
239+
240+ sf = self ._session .query (SamplingFeatures ).select_from (RelatedFeatures ).join (RelatedFeatures .RelatedFeatureObj )
241+ if id : sf = sf .filter (RelatedFeatures .RelatedFeatureID == id )
242+ return sf .all ()
233243
234244 """
235245 Action
@@ -257,15 +267,16 @@ def getActions(self, id = None, type=None, sfid=None):
257267 return None
258268
259269 def getRelatedActions (self , actionid = None ):
260- #Todo getrelatedactions
270+
261271 """
262272 getRelatedActions()
263273 * Pass an ActionID - get a list of Action objects related to the input action along with the relatinship type
264274
265275 """
276+ q = self ._session .query (Actions ).select_from (RelatedActions ).join (RelatedActions .RelatedActionObj )
277+ if actionid : q = q .filter (RelatedActions .ActionID == actionid )
266278
267- #q = self._session.query(Actions).filter_by
268- pass
279+ return q .all ()
269280
270281 """
271282 Unit
@@ -557,6 +568,7 @@ def getMethodCitations(self):
557568 self ._session .query (MethodCitations ).all ()
558569
559570 def getRelatedAnnotations (self ):
571+ #q= read._session.query(Actions).select_from(RelatedActions).join(RelatedActions.RelatedActionObj)
560572 self ._session .query (RelatedAnnotations ).all ()
561573 def getRelatedCitations (self ):
562574 self ._session .query (RelatedCitations ).all ()
@@ -601,7 +613,6 @@ def getResultValues(self, resultid= None, type=None, starttime=None, endtime=Non
601613 elif type == "transect" : Result = TransectResultValues
602614
603615
604-
605616 q = self ._session .query (Result )
606617 if resultid : q = q .filter_by (ResultID = resultid )
607618 if starttime : q = q .filter (Result .ValueDateTime >= starttime )
@@ -729,9 +740,11 @@ def getRelatedModels(self, id = None, code = None):
729740 :return:
730741 :rtype:
731742 """
732- m = self ._session .query (Models ).join (RelatedModels , Models .ModelID == RelatedModels .RelatedModelID )
733- if id : m = m .filter_by (ModelID = id )
734- if code : m = m .filter_by (ModelCode = code )
743+
744+
745+ m = self ._session .query (Models ).select_from (RelatedModels ).join (RelatedModels .RelatedModelObj )
746+ if id : m = m .filter (RelatedModels .ModelID == id )
747+ if code : m = m .filter (RelatedModels .ModelCode == code )
735748
736749 try :
737750 return m .all ()
0 commit comments