def _add_to_collection(self, service_class): """ Add a service to the database. """ logger.info("Adding service %s to MongoDB" % service_class.name) description = inspect.getdoc(service_class) config = service_class.build_default_config() config = AnalysisConfig(**config) new_service = CRITsService() new_service.name = service_class.name new_service.version = service_class.version new_service.service_type = service_class.type_ new_service.purpose = service_class.purpose new_service.rerunnable = service_class.rerunnable new_service.supported_types = service_class.supported_types new_service.required_fields = service_class.required_fields new_service.enabled = False new_service.run_on_triage = False new_service.description = description new_service.config = config try: new_service.save() logger.debug('Added service %s successfully.' % service_class.name) except ValidationError, e: logger.warning('Failed to add service %s: %s' % (service_class.name, e))