예제 #1
0
def clean_targets(job_list, db):
    #     print('clean_targets (%r)' % job_list)
    job_list = set(job_list)

    # now we need to delete the definition closure

    from compmake.jobs.queries import definition_closure
    closure = definition_closure(job_list, db)

    basic = job_list - closure

    from compmake.jobs.queries import parents
    other_clean = set()
    for job_id in job_list:
        other_clean.update(parents(job_id, db))
    other_clean = other_clean - closure
    #
    #     print('deleting: %r' % closure)
    #     print('only cleaning: %r' % basic)
    #     print('other cleaning: %r' % other_clean)
    #
    for job_id in closure | basic | other_clean:
        clean_cache_relations(job_id, db)

    # delete all in closure
    for job_id in closure:
        from compmake.jobs.storage import delete_all_job_data
        delete_all_job_data(job_id, db)

    # just remove cache in basic
    for job_id in basic:
        # Cleans associated objects
        if job_cache_exists(job_id, db):
            delete_job_cache(job_id, db)
예제 #2
0
def clean_targets(job_list, db):
    #     print('clean_targets (%r)' % job_list)
    job_list = set(job_list)

    # now we need to delete the definition closure

    from compmake.jobs.queries import definition_closure
    closure = definition_closure(job_list, db)

    basic = job_list - closure

    from compmake.jobs.queries import parents
    other_clean = set()
    for job_id in job_list:
        other_clean.update(parents(job_id, db))
    other_clean = other_clean - closure
    #
    #     print('deleting: %r' % closure)
    #     print('only cleaning: %r' % basic)
    #     print('other cleaning: %r' % other_clean)
    #
    for job_id in closure | basic | other_clean:
        clean_cache_relations(job_id, db)

    # delete all in closure
    for job_id in closure:
        from compmake.jobs.storage import delete_all_job_data
        delete_all_job_data(job_id, db)

    # just remove cache in basic
    for job_id in basic:
        # Cleans associated objects
        if job_cache_exists(job_id, db):
            delete_job_cache(job_id, db)
예제 #3
0
def delete(job_list, context):
    """ Remove completely the job from the DB. Useful for generated jobs (
    "delete not root"). """
    from compmake.jobs.storage import delete_all_job_data

    job_list = [x for x in job_list]

    db = context.get_compmake_db()
    for job_id in job_list:
        delete_all_job_data(job_id=job_id, db=db)
예제 #4
0
def delete(job_list, context):
    """ Remove completely the job from the DB. Useful for generated jobs (
    "delete not root"). """
    from compmake.jobs.storage import delete_all_job_data

    job_list = [x for x in job_list]

    db = context.get_compmake_db()
    for job_id in job_list:
        delete_all_job_data(job_id=job_id, db=db)
예제 #5
0
파일: ui.py 프로젝트: pombredanne/compmake
def delete_jobs_recurse_definition(jobs, db):
    """ Deletes all jobs given and the jobs that they defined.
        Returns the set of jobs deleted. """
    from compmake.jobs.queries import definition_closure
    closure = definition_closure(jobs, db)

    all_jobs = jobs | closure
    for job_id in all_jobs:
        clean_cache_relations(job_id, db)

    for job_id in all_jobs:
        from compmake.jobs.storage import delete_all_job_data
        delete_all_job_data(job_id, db)

    return all_jobs
예제 #6
0
파일: ui.py 프로젝트: AndreaCensi/compmake
def delete_jobs_recurse_definition(jobs, db):
    """ Deletes all jobs given and the jobs that they defined.
        Returns the set of jobs deleted. """
    from compmake.jobs.queries import definition_closure
    closure = definition_closure(jobs, db)

    all_jobs = jobs | closure
    for job_id in all_jobs:
        clean_cache_relations(job_id, db)

    
    for job_id in all_jobs:
        from compmake.jobs.storage import delete_all_job_data
        delete_all_job_data(job_id, db)
        
    return all_jobs