importer revisited - sfa-import.py sfa-nuke.py (no more -plc)
[sfa.git] / sfa / importer / sfa-import.py
1 #!/usr/bin/python
2
3 import sys
4
5 from optparse import OptionParser
6
7 from sfa.generic import Generic
8
9 from sfa.util.config import Config
10 from sfa.util.sfalogging import _SfaLogger
11
12 from sfa.trust.hierarchy import Hierarchy
13
14 from sfa.importer.sfaimporter import SfaImporter
15
16 COMMAND=sys.argv[0]
17
18 def main ():
19
20     config = Config()
21     logger = _SfaLogger(logfile='/var/log/sfa_import.log', loggername='importlog')
22     logger.setLevelFromOptVerbose(config.SFA_API_LOGLEVEL)
23     if not config.SFA_REGISTRY_ENABLED:
24         logger.critical("COMMAND: need SFA_REGISTRY_ENABLED to run import")
25
26     # testbed-neutral : create local certificates and the like
27     auth_hierarchy = Hierarchy ()
28     sfa_importer = SfaImporter(auth_hierarchy, logger)
29     # testbed-specific
30     testbed_importer = None
31     generic=Generic.the_flavour()
32     importer_class = generic.importer_class()
33     if importer_class:
34         logger.info ("Using flavour %s for importing (class %s)"%\
35                          (generic.flavour,importer_class.__name__))
36         testbed_importer = importer_class (auth_hierarchy, logger)
37
38     parser = OptionParser ()
39     sfa_importer.record_options (parser)
40     if testbed_importer:
41         testbed_importer.record_options (parser)
42
43     (options, args) = parser.parse_args ()
44     # no args supported ?
45     if args:
46         parser.print_help()
47         sys.exit(1)
48
49     sfa_importer.run (options)
50     if testbed_importer:
51         testbed_importer.run (parser)
52     
53
54 if __name__ == '__main__':
55     main()
56