Example #1
0
def _update_diskusage(dmfilestat):
    logger.debug("Function: %s()" % sys._getframe().f_code.co_name)
    if dmfilestat.dmfileset.type == dmactions_types.SIG:
        exp = dmfilestat.result.experiment
        used = getdiskusage(exp.expDir)
        exp.diskusage = int(used) if used != None else 0
        exp.save()
    else:
        result = dmfilestat.result
        used = getdiskusage(result.get_report_dir())
        result.diskusage = int(used) if used != None else 0
        result.save()
Example #2
0
def _update_diskusage(dmfilestat):
    logger.debug("Function: %s()" % sys._getframe().f_code.co_name)
    if dmfilestat.dmfileset.type == dmactions_types.SIG:
        exp = dmfilestat.result.experiment
        used = getdiskusage(exp.expDir)
        exp.diskusage = int(used) if used != None else 0
        exp.save()
    else:
        result = dmfilestat.result
        used = getdiskusage(result.get_report_dir())
        result.diskusage = int(used) if used != None else 0
        result.save()
Example #3
0
def setRunDiskspace(experimentpk):
    '''Sets diskusage field in Experiment record with data returned from du command'''
    logger = logging.getLogger(__name__)
    try:
        from iondb.rundb import models
        from django.core.exceptions import ObjectDoesNotExist
        # Get Experiment record
        exp = models.Experiment.objects.get(pk=experimentpk)
    except ObjectDoesNotExist:
        pass
    except:
        raise
    else:
        # Get filesystem location of given Experiment record
        directory = exp.expDir

        used = getdiskusage(directory)
        logger.info("%d" % used)

        # Update database entry for the given Experiment record
        try:
            used = used if used != None else "0"
            exp.diskusage = int(used)
            exp.save()
        except:
            # field does not exist, cannot update
            pass
Example #4
0
def setResultDiskspace(resultpk):
    '''Sets diskusage field in Results record with data returned from du command'''
    logger = logging.getLogger(__name__)
    try:
        from iondb.rundb import models
        from django.core.exceptions import ObjectDoesNotExist
        # Get Results record
        result = models.Results.objects.get(pk=resultpk)
    except ObjectDoesNotExist:
        logger.error("Object does not exist error")
        pass
    except:
        raise
    else:
        # Get filesystem location of given Results record
        directory = result.get_report_dir()

        used = getdiskusage(directory)
        logger.debug("%d" % used)
        # Update database entry for the given Experiment record
        try:
            used = used if used != None else "0"
            result.diskusage = int(used)
            result.save()
        except:
            # field does not exist, cannot update
            pass
Example #5
0
def setRunDiskspace(experimentpk):
    '''Sets diskusage field in Experiment record with data returned from du command'''
    logger = logging.getLogger(__name__)
    try:
        from iondb.rundb import models
        from django.core.exceptions import ObjectDoesNotExist
        # Get Experiment record
        exp = models.Experiment.objects.get(pk=experimentpk)
    except ObjectDoesNotExist:
        pass
    except:
        raise
    else:
        # Get filesystem location of given Experiment record
        directory = exp.expDir

        used = getdiskusage(directory)
        logger.info("%d" % used)

        # Update database entry for the given Experiment record
        try:
            used = used if used != None else "0"
            exp.diskusage = int(used)
            exp.save()
        except:
            # field does not exist, cannot update
            pass
Example #6
0
def setResultDiskspace(resultpk):
    '''Sets diskusage field in Results record with data returned from du command'''
    logger = logging.getLogger(__name__)
    try:
        from iondb.rundb import models
        from django.core.exceptions import ObjectDoesNotExist
        # Get Results record
        result = models.Results.objects.get(pk=resultpk)
    except ObjectDoesNotExist:
        logger.error("Object does not exist error")
        pass
    except:
        raise
    else:
        # Get filesystem location of given Results record
        directory = result.get_report_dir()

        used = getdiskusage(directory)
        logger.debug("%d" % used)
        # Update database entry for the given Experiment record
        try:
            used = used if used != None else "0"
            result.diskusage = int(used)
            result.save()
        except:
            # field does not exist, cannot update
            pass
Example #7
0
def main(delete=False):

    # DBase objects of sigproc datasets that are deleted.
    dir_list = models.DMFileStat.objects.filter(
        action_state__in=['DD'],
        dmfileset__type='Signal Processing Input').values_list(
            'result_id__experiment_id__expDir', flat=True)
    print("Number of sigproc datasets, deleted: %d" % (len(dir_list)))
    total_disk_space_mb = 0
    exclude_list = []
    for target_dir in dir_list:
        try:
            if not (target_dir in exclude_list) and os.path.isdir(target_dir):
                # if ("Corvette" in target_dir) and not (target_dir in exclude_list) and
                # os.path.isdir(target_dir):
                exclude_list.append(target_dir)
                sys.stdout.write("%s " % target_dir)
                sys.stdout.write("exists ")
                size_mb = getdiskusage(target_dir)
                sys.stdout.write("Size: %d MB " % (size_mb))

                total_disk_space_mb += size_mb
                if delete:
                    if os.path.isdir(os.path.join(target_dir, 'thumbnail')):
                        # Recursively remove thumbnail directory
                        shutil.rmtree(os.path.join(target_dir, 'thumbnail'))
                        sys.stdout.write("thumbnail deleted ")

                    # Here determine if any other files can be deleted
                    # If onboard_results exists, leave it alone.
                    if os.path.isdir(
                            os.path.join(target_dir, 'onboard_results')):
                        # Do nothing
                        pass
                    else:
                        # Delete everything else
                        if not os.path.isdir(
                                os.path.join(target_dir, 'sigproc_results')):
                            shutil.rmtree(target_dir)
                            sys.stdout.write("rawdata dir deleted\n")
                            continue

                    # Here remove empty rawdata directory
                    if len(os.listdir(target_dir)) == 0:
                        shutil.rmtree(target_dir)
                        sys.stdout.write("rawdata dir deleted ")

                sys.stdout.write("\n")
        except:
            traceback.print_exc()

        else:
            pass

    print("Total disk usage (MB): %d" % (total_disk_space_mb))
Example #8
0
def main(delete=False):

    # DBase objects of sigproc datasets that are deleted.
    dir_list = models.DMFileStat.objects.filter(action_state__in=['DD'], dmfileset__type='Signal Processing Input').values_list(
        'result_id__experiment_id__expDir', flat=True)
    print ("Number of sigproc datasets, deleted: %d" % (len(dir_list)))
    total_disk_space_mb = 0
    exclude_list = []
    for target_dir in dir_list:
        try:
            if not (target_dir in exclude_list) and os.path.isdir(target_dir):
            # if ("Corvette" in target_dir) and not (target_dir in exclude_list) and
            # os.path.isdir(target_dir):
                exclude_list.append(target_dir)
                sys.stdout.write("%s " % target_dir)
                sys.stdout.write("exists ")
                size_mb = getdiskusage(target_dir)
                sys.stdout.write("Size: %d MB " % (size_mb))

                total_disk_space_mb += size_mb
                if delete:
                    if os.path.isdir(os.path.join(target_dir, 'thumbnail')):
                        # Recursively remove thumbnail directory
                        shutil.rmtree(os.path.join(target_dir, 'thumbnail'))
                        sys.stdout.write("thumbnail deleted ")

                    # Here determine if any other files can be deleted
                    # If onboard_results exists, leave it alone.
                    if os.path.isdir(os.path.join(target_dir, 'onboard_results')):
                        # Do nothing
                        pass
                    else:
                        # Delete everything else
                        if not os.path.isdir(os.path.join(target_dir, 'sigproc_results')):
                            shutil.rmtree(target_dir)
                            sys.stdout.write("rawdata dir deleted\n")
                            continue

                    # Here remove empty rawdata directory
                    if len(os.listdir(target_dir)) == 0:
                        shutil.rmtree(target_dir)
                        sys.stdout.write("rawdata dir deleted ")

                sys.stdout.write("\n")
        except:
            traceback.print_exc()

        else:
            pass

    print ("Total disk usage (MB): %d" % (total_disk_space_mb))