from irma.common.plugin_result import PluginResult log = logging.getLogger(__name__) probe_app = Celery('probetasks') config.conf_probe_celery(probe_app) config.configure_syslog(probe_app) # Time to cache the probe list # to avoid asking to rabbitmq PROBELIST_CACHE_TIME = 30 manager = multiprocessing.Manager() available_probes = manager.list() interprocess_lock_path = config.get_lock_path() def register(name, display_name, category, mimetype_regexp, session): try: probe = Probe.get_by_name(name, session) log.info("probe %s already registred " "updating parameters: " "[display_name:%s cat:%s regexp:%s]", name, display_name, category, mimetype_regexp) session.query(Probe)\ .filter_by(id=probe.id)\ .update({'category': category, 'mimetype_regexp': mimetype_regexp, 'online': True, 'display_name': display_name}) except IrmaDatabaseResultNotFound: log.info("register probe %s"
from sqlalchemy import inspect from api.common.sessions import session_transaction import api.common.ftp as ftp_ctrl import api.tasks.braintasks as celery_brain from api.files.models import File from api.files_ext.models import FileExt, FileProbeResult from api.probe_results.models import ProbeResult from api.scans.models import Scan from config.parser import get_lock_path, get_max_resubmit_level from irma.common.base.exceptions import IrmaValueError, IrmaTaskError from irma.common.base.utils import IrmaReturnCode, IrmaScanStatus from irma.common.base.utils import IrmaScanRequest log = logging.getLogger(__name__) interprocess_lock_path = get_lock_path() # =================== # Internals helpers # =================== def _add_empty_result(file_ext, probelist, scan, session): log.debug("scan %s: file %s add empty results", scan.external_id, file_ext.external_id) updated_probelist = [] for probe_name in probelist: # Fetch the ref results for the file ref_result = file_ext.file.get_ref_result(probe_name) if ref_result is not None and not scan.force: # we ask for results already present
IrmaDatabaseError from lib.plugin_result import PluginResult log = logging.getLogger(__name__) probe_app = Celery('probetasks') config.conf_probe_celery(probe_app) config.configure_syslog(probe_app) # Time to cache the probe list # to avoid asking to rabbitmq PROBELIST_CACHE_TIME = 30 manager = multiprocessing.Manager() cache_probelist = manager.dict() interprocess_lock_path = config.get_lock_path() def register(name, display_name, category, mimetype_regexp, session): try: probe = Probe.get_by_name(name, session) log.info( "probe %s already registred " "updating parameters: " "[display_name:%s cat:%s regexp:%s]", name, display_name, category, mimetype_regexp) probe.display_name = display_name probe.category = category probe.mimetype_regexp = mimetype_regexp probe.online = True probe.update(['category', 'mimetype_regexp', 'online'], session)