Example #1
0
class Platform(PlatformBase):
    def __init__(self, platform_name, nodes):
        self.system_settings = nodes.system_settings
        self._nodes = nodes

        if platform_name in PLATFORM_NAMING_CONVENTIONS:
            name = PLATFORM_NAMING_CONVENTIONS[platform_name]
        else:
            name = str(platform_name) + ' Platform'

        super(Platform, self).__init__(name, platform_name, 'platforms')

        groups_db_file = None
        error_db_file = None
        if platform_name != 'virgins':
            db_path = os.path.join('platforms', platform_name)
            groups_db_file = os.path.join(db_path, 'groups.db')
            error_db_file = os.path.join(db_path, 'default_error.db')

        LOGGER.debug("Creating Default Groups")

        default_groups = OrderedDict()
        default_groups['inactive_group'] = Group('Inactive Group',
                                                 platform_name, self._nodes)

        self.groups = Groups(self._nodes,
                             platform_name,
                             db_file=groups_db_file,
                             defaults=default_groups)

        self.error = NodeError(system_settings=self.system_settings,
                               db_file=error_db_file)

    def save(self, db_content=None):
        """ Overloading default save method """
        self.groups.save()
        super(Platform, self).save()

    def delete(self):
        """ Overloading default delete method """
        self.groups.delete()
        super(Platform, self).delete()