fix various errors
[sfa.git] / sfa / clientbin / sfaadmin.py
index e722e6b..0b22998 100755 (executable)
@@ -1,4 +1,5 @@
 #!/usr/bin/python
+import os
 import sys
 import copy
 from pprint import pformat 
@@ -126,7 +127,7 @@ class RegistryCommands(Commands):
                     os.unlink(path)
         
     
-class CerficiateCommands(Commands):
+class CertCommands(Commands):
     
     def import_gid(self, xrn):
         pass
@@ -135,6 +136,9 @@ class CerficiateCommands(Commands):
     @args('-t', '--type', dest='type', metavar='<type>', help='object type', default=None)
     @args('-o', '--outfile', dest='outfile', metavar='<outfile>', help='output file', default=None)
     def export(self, xrn, type=None, outfile=None):
+        from sfa.storage.alchemy import dbsession
+        from sfa.storage.model import RegRecord
+        hrn = Xrn(xrn).get_hrn()
         request=dbsession.query(RegRecord).filter_by(hrn=hrn)
         if type: request = request.filter_by(type=type)
         record=request.first()
@@ -238,15 +242,16 @@ class SliceManagerCommands(AggregateCommands):
         self.api= Generic.the_flavour().make_api(interface='slicemgr')
 
 
-CATEGORIES = {'cert': CertificateCommands,
+CATEGORIES = {'cert': CertCommands,
               'registry': RegistryCommands,
               'aggregate': AggregateCommands,
               'slicemgr': SliceManagerCommands}
 
 def category_usage():
     print "Available categories:"
-        for k in CATEGORIES:
-            print "\t%s" % k
+    for k in CATEGORIES:
+        print "\t%s" % k
+
 def main():
     argv = copy.deepcopy(sys.argv)
     script_name = argv.pop(0)