From 73a9ba83a73cd58ef3c0d935dd50d2e467c392fe Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Sat, 21 Mar 2009 21:35:13 +0000 Subject: Snapshots: fix more of the admin interface (including some of Sol's diffs) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5136 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Admin/Snapshots.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) (limited to 'src/lib/Server/Admin/Snapshots.py') diff --git a/src/lib/Server/Admin/Snapshots.py b/src/lib/Server/Admin/Snapshots.py index 13897fcd2..51b7bf6d9 100644 --- a/src/lib/Server/Admin/Snapshots.py +++ b/src/lib/Server/Admin/Snapshots.py @@ -1,17 +1,23 @@ import Bcfg2.Server.Admin -import sqlalchemy, sqlalchemy.orm +import sys + +try: + import sqlalchemy, sqlalchemy.orm +except: + # FIXME should probably do something smarter here for folks without SA + pass import Bcfg2.Server.Snapshots import Bcfg2.Server.Snapshots.model -from Bcfg2.Server.Snapshots.model import Snapshot, Client, Metadata, Base, Group +from Bcfg2.Server.Snapshots.model import Snapshot, Client, Metadata, Base, \ + Group, Package class Snapshots(Bcfg2.Server.Admin.Mode): __shorthelp__ = "Interact with the Snapshots system" __longhelp__ = (__shorthelp__) __usage__ = ("bcfg2-admin snapshots [init|query qtype] ") - q_dispatch = {'client':Client, - 'group':Bcfg2.Server.Snapshots.model.Group, - 'snapshot':Snapshot, + q_dispatch = {'client':Client, 'group':Group, + 'snapshot':Snapshot,'package': Package, 'metadata':Metadata, } def __init__(self, configfile): @@ -39,4 +45,11 @@ class Snapshots(Bcfg2.Server.Admin.Mode): session.commit() elif args[0] == 'dump': client, etype, ename = args[1:] - snap = Snapshot.get_current(self.session, client) + snap = Snapshot.get_current(self.session, unicode(client)) + if not snap: + print "Current snapshot for %s not found" % client + sys.exit(1) + for pkg in snap.packages: + print pkg.correct, pkg.modified + print pkg.start.name, pkg.start.version + print snap.packages -- cgit v1.2.3-1-g7c22