def process(access_key=None, secret_key=None, bucket_name=None, video_path=None, video=None):

    for_deleting = False

    if len(sys.argv) > 1:
        a = sys.argv[1]
        ACCESS_KEY = sys.argv[2]
        SECRET_KEY = sys.argv[3]
        BUCKET_NAME = sys.argv[4]
        database.createDatabase(a)
    else:
        for_deleting = True
        ACCESS_KEY = access_key
        SECRET_KEY = secret_key
        BUCKET_NAME = bucket_name
        database.createDatabase()

    aws_s3_connection = S3Connection(ACCESS_KEY, SECRET_KEY)
    aws_s3_bucket = Bucket(aws_s3_connection, BUCKET_NAME)

    session = database.DBSession()

    object_keys = []

    # This is if the CRON job is running and is removing flagged videos
    if for_deleting is False:
        flagged_content = session.query(FlaggedVideoModel).all()
        if len(flagged_content) > 0:
            time_stamp_now = calendar.timegm(datetime.utcnow().timetuple())
            for content in flagged_content:
                if content.timeStamp <= time_stamp_now:
                    video = content.video
                    favourites_of_video = session.query(VideoFavourite).filter(VideoFavourite.video_id == video.video_id).all()
                    for key in aws_s3_bucket.list(prefix=content.video_path):
                        object_keys.append(key)

                    if len(favourites_of_video) > 0:
                        for fv in favourites_of_video:
                            session.delete(fv)
                    session.delete(content)
                    session.delete(video)
    # This is for when you are deleting a video from the timeline
    elif for_deleting is True and video is not None and video_path is not '' and video_path is not None:
        favourites_of_video = session.query(VideoFavourite).filter(VideoFavourite.video_id == video.video_id).all()
        flags_for_video = session.query(FlaggedVideoModel).filter(FlaggedVideoModel.video_id == video.video_id).all()

        # Collect the AWS S3 objects to delete
        for key in aws_s3_bucket.list(prefix=video_path):
            object_keys.append(key)
        # Collect the Video Favourites
        if len(favourites_of_video) > 0:
            for fv in favourites_of_video:
                session.delete(fv)
        # Collect the Video Flags
        if len(flags_for_video) > 0:
            for fv in flags_for_video:
                session.delete(fv)

    try:
        if len(object_keys) > 0:
            aws_s3_bucket.delete_keys(object_keys)
        session.commit()
        session.close()
        return True
    except exc.SQLAlchemyError:
        session.close()
        return False