Beispiel #1
0
    def getfirstnotpreserved(dmfilestats, action, threshdate):
        '''QuerySet of DMFileStat objects.  Returns first instance of an object
        with preserve_data set to False and passes the action_validation test'''
        logger.debug("Function: %s()" % sys._getframe().f_code.co_name, extra=logid)
        logger.debug("Looking at %d dmfilestat objects" % dmfilestats.count(), extra=logid)
        for archiveme in dmfilestats:
            if not archiveme.getpreserved():
                try:
                    dmactions.action_validation(archiveme, action)
                    return archiveme
                except(DMExceptions.FilesInUse, DMExceptions.FilesMarkedKeep):
                    logger.debug("%s Failed action_validation.  Try next fileset" %
                                 archiveme.result.resultsName, extra=logid)
                except DMExceptions.BaseInputLinked:
                    # want to allow Basecalling Input delete if all results are expired
                    related_objs = DMFileStat.objects.filter(
                        result__experiment=archiveme.result.experiment, dmfileset__type=dmactions_types.BASE)
                    if related_objs.count() == related_objs.filter(created__lt=threshdate).count():
                        archiveme.allow_delete = True
                        return archiveme
                    else:
                        logger.debug("%s Failed action_validation.  Try next fileset" %
                                     archiveme.result.resultsName, extra=logid)
                except:
                    logger.error(traceback.format_exc(), extra=logid)
            else:
                logger.debug("Skipped a preserved fileset: %s" % archiveme.result.resultsName, extra=logid)

        logger.info("%d filestat objects are preserved." % dmfilestats.count(), extra=logid)
        raise DMExceptions.NoDMFileStat("NONE FOUND")
Beispiel #2
0
 def getfirstmanualaction():
     manual_selects = DMFileStat.objects.filter(
         action_state__in=['SA', 'SE', 'SD']).order_by('created')
     for item in manual_selects:
         try:
             dmactions.action_validation(item, item.dmfileset.auto_action)
             return item
         except (DMExceptions.FilesInUse, DMExceptions.FilesMarkedKeep):
             logger.debug("%s Failed action_validation.  Try next fileset" %
                          item.result.resultsName,
                          extra=logid)
         except DMExceptions.BaseInputLinked:
             # want to allow Basecalling Input delete if all results are expired
             related_objs = DMFileStat.objects.filter(
                 result__experiment=item.result.experiment,
                 dmfileset__type=dmactions_types.BASE)
             if related_objs.count() == related_objs.filter(
                     created__lt=threshdate).count():
                 item.allow_delete = True
                 return item
             else:
                 logger.debug(
                     "%s Failed action_validation.  Try next fileset" %
                     item.result.resultsName,
                     extra=logid)
         except:
             logger.error(traceback.format_exc(), extra=logid)
     raise DMExceptions.NoDMFileStat("NONE FOUND")
Beispiel #3
0
    def getfirstnotpreserved(dmfilestats, action):
        '''QuerySet of DMFileStat objects.  Returns first instance of an object
        with preserve_data set to False and passes the action_validation test'''
        logger.debug("Function: %s()" % sys._getframe().f_code.co_name)
        logger.debug("Looking at %d dmfilestat objects" % dmfilestats.count())
        for archiveme in dmfilestats:
            if not archiveme.getpreserved():
                try:
                    dmactions.action_validation(archiveme,action)
                    return archiveme
                except:
                    logger.debug("%s Failed action_validation.  Try next fileset" % archiveme.result.resultsName)
            else:
                logger.debug("Skipped a preserved fileset: %s" % archiveme.result.resultsName)

        logger.info("%d filestat objects are preserved." % dmfilestats.count())
        raise DMExceptions.NoDMFileStat("NONE FOUND")
Beispiel #4
0
 def getfirstmanualaction():
     manual_selects = DMFileStat.objects.filter(action_state__in=['SA', 'SE', 'SD']).order_by('created')
     for item in manual_selects:
         try:
             dmactions.action_validation(item, item.dmfileset.auto_action)
             return item
         except(DMExceptions.FilesInUse, DMExceptions.FilesMarkedKeep):
             logger.debug("%s Failed action_validation.  Try next fileset" % item.result.resultsName, extra = logid)
         except DMExceptions.BaseInputLinked:
             # want to allow Basecalling Input delete if all results are expired
             related_objs = DMFileStat.objects.filter(result__experiment=item.result.experiment, dmfileset__type=dmactions_types.BASE)
             if related_objs.count() == related_objs.filter(created__lt=threshdate).count():
                 item.allow_delete = True
                 return item
             else:
                 logger.debug("%s Failed action_validation.  Try next fileset" % item.result.resultsName, extra = logid)
         except:
             logger.error(traceback.format_exc(), extra = logid)
     raise DMExceptions.NoDMFileStat("NONE FOUND")
Beispiel #5
0
    def getfirstnotpreserved(dmfilestats, action):
        '''QuerySet of DMFileStat objects.  Returns first instance of an object
        with preserve_data set to False and passes the action_validation test'''
        logger.debug("Function: %s()" % sys._getframe().f_code.co_name)
        logger.debug("Looking at %d dmfilestat objects" % dmfilestats.count())
        for archiveme in dmfilestats:
            if not archiveme.getpreserved():
                try:
                    dmactions.action_validation(archiveme, action)
                    return archiveme
                except (DMExceptions.FilesInUse, DMExceptions.FilesMarkedKeep,
                        DMExceptions.BaseInputLinked):
                    logger.debug(
                        "%s Failed action_validation.  Try next fileset" %
                        archiveme.result.resultsName)
                except:
                    logger.error(traceback.format_exc())
            else:
                logger.debug("Skipped a preserved fileset: %s" %
                             archiveme.result.resultsName)

        logger.info("%d filestat objects are preserved." % dmfilestats.count())
        raise DMExceptions.NoDMFileStat("NONE FOUND")