From a738db564d19184b61d45fca3985dc285ee03ba8 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Fri, 6 Mar 2009 21:13:08 +0000 Subject: Snapshots: Add some convenience functions for getting access to latest snapshot git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5109 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Snapshots/model.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/lib/Server/Snapshots/model.py') diff --git a/src/lib/Server/Snapshots/model.py b/src/lib/Server/Snapshots/model.py index ea9c6b811..a913a25de 100644 --- a/src/lib/Server/Snapshots/model.py +++ b/src/lib/Server/Snapshots/model.py @@ -1,4 +1,4 @@ -from sqlalchemy import Table, Column, Integer, Unicode, ForeignKey, Boolean, DateTime, UnicodeText +from sqlalchemy import Table, Column, Integer, Unicode, ForeignKey, Boolean, DateTime, UnicodeText, desc import datetime import sqlalchemy.exceptions from sqlalchemy.orm import relation, backref @@ -232,3 +232,10 @@ class Snapshot(Base): getattr(snap, dest).append(ecls.from_record(session, edata)) return snap + @classmethod + def by_client(cls, session, clientname): + return session.query(cls).join(cls.client_metadata, Metadata.client).filter(Client.name==clientname) + + @classmethod + def get_current(cls, session, clientname): + return session.query(Snapshot).join(Snapshot.client_metadata, Metadata.client).filter(Client.name==clientname).order_by(desc(Snapshot.timestamp)).first() -- cgit v1.2.3-1-g7c22