autopep8
[sfa.git] / sfa / importer / iotlabimporter.py
1 # -*- coding:utf-8 -*-
2 """ Iot-LAB importer class management """
3
4 from sfa.storage.alchemy import engine
5 from sfa.storage.model import init_tables
6 from sqlalchemy import Table, MetaData
7 from sqlalchemy.exc import NoSuchTableError
8
9
10 class IotLabImporter:
11     """
12     Creates the iotlab specific lease table to keep track
13     of which slice hrn match OAR job
14     """
15
16     def __init__(self, auth_hierarchy, loc_logger):
17         self.logger = loc_logger
18         self.logger.setLevelDebug()
19
20     def add_options(self, parser):
21         """ Not used and need by SFA """
22         pass
23
24     def _exists(self, tablename):
25         """
26         Checks if the table exists in SFA database.
27         """
28         metadata = MetaData(bind=engine)
29         try:
30             Table(tablename, metadata, autoload=True)
31             return True
32
33         except NoSuchTableError:
34             return False
35
36     def run(self, options):
37         """ Run importer"""
38         if not self._exists('lease_table'):
39             init_tables(engine)
40             self.logger.info("iotlabimporter run lease_table created")