Esempio n. 1
0
def decode_collection(directory, collection_name, movie_name):
    """ Celery task to decode processed dataset """
    decoding_set = db_session.query(DecodingSet).filter_by(name='terms_20k')
    decoding_set = decoding_set.first()

    print directory
    print collection_name

    if isdir(join(directory, collection_name)):

        decode_movie_folder = join(DECODING_RESULTS_DIR, collection_name)

        if not exists(decode_movie_folder):
            mkdir(decode_movie_folder)

        decodings = db_session.query(Decoding).filter_by(collection=collection_name)
        for a in decodings:
            db_session.delete(a)
        db_session.commit()

        time = datetime.utcnow()
        for filename in listdir(join(directory, collection_name)):
            print filename
            if filename == ".DS_Store" or filename == "terms":
                continue
            decoding = Decoding(filename=filename, uuid=uuid4().hex,
                        decoding_set=decoding_set, movie=movie_name,
                        collection=collection_name)
            decoding = decode_image(decoding, decoding_set,
                        collection_name, filename)
            if decoding is not None:
                decoding.image_decoded_at = time
                db_session.add(decoding)
                db_session.commit()

    analysis = db_session.query(Analysis.name)
    movie_decode = db_session.query(Decoding.filename, Decoding.movie, Decoding.term)
    movie_decode = movie_decode.filter_by(movie=movie_name)

    for term in analysis:
        print term.name
        movie_decode_term = movie_decode.filter_by(term=term.name)
        if movie_decode_term.count() == 0:
            print 'There are no components for this term'
        else:
            imgs = []
            collection_name = collection_name
            for component in movie_decode_term:
                file = component_directory(collection_name, component.filename)
                print "Now decoding for" + term.name
                imgs.append(file)
            concat_components(imgs, term.name, collection_name)

    collection = db_session.query(Collection).filter_by(name=collection_name).first()
    collection.decoded = True
    db_session.commit()
Esempio n. 2
0
def delete_Collection(user, collection):
    collection_dir = os.path.join(UPLOAD_DIR,user,collection)
    if(os.path.exists(collection_dir)):
        shutil.rmtree(collection_dir)
        print "Deletion successful"
    collection_db = db_session.query(Collection).filter_by(user_id = user, name=collection)
    for list in collection_db:
        print list.id
        db_session.delete(list)
    db_session.commit()
    print "Deleted entry"