summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Admin/Snapshots.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2009-03-21 21:35:13 +0000
committerNarayan Desai <desai@mcs.anl.gov>2009-03-21 21:35:13 +0000
commit73a9ba83a73cd58ef3c0d935dd50d2e467c392fe (patch)
tree05ceda9c17fb130c8ec93494a78c2324d549b9c9 /src/lib/Server/Admin/Snapshots.py
parent172a4ddb15ec7c39802eb9e160728429c5f98203 (diff)
downloadbcfg2-73a9ba83a73cd58ef3c0d935dd50d2e467c392fe.tar.gz
bcfg2-73a9ba83a73cd58ef3c0d935dd50d2e467c392fe.tar.bz2
bcfg2-73a9ba83a73cd58ef3c0d935dd50d2e467c392fe.zip
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
Diffstat (limited to 'src/lib/Server/Admin/Snapshots.py')
-rw-r--r--src/lib/Server/Admin/Snapshots.py25
1 files changed, 19 insertions, 6 deletions
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