(type_, id_, name, date, user=None, **kwargs)
Remove a source instance from a top-level object.

    :param type_: The CRITs type of the top-level object.
    :type type_: str
    :param id_: The ObjectId to search for.
    :type id_: str
    :param name: The name of the source.
    :type name: str
    :param date: The date of the instance to remove.
    :type date: datetime.datetime
    :param user: The user performing the removal.
    :type user: str
    :returns: dict with keys "success" (boolean) and "message" (str)
Remove a source instance from a top-level object.
Remove a source instance from a top - level object .
def source_remove(type_, id_, name, date, user=None, **kwargs):
    """
    Remove a source instance from a top-level object.

    :param type_: The CRITs type of the top-level object.
    :type type_: str
    :param id_: The ObjectId to search for.
    :type id_: str
    :param name: The name of the source.
    :type name: str
    :param date: The date of the instance to remove.
    :type date: datetime.datetime
    :param user: The user performing the removal.
    :type user: str
    :returns: dict with keys "success" (boolean) and "message" (str)
    """

    obj = class_from_id(type_, id_)
    if not obj:
        return {'success': False,
                'message': 'Unable to find object in database.'}
    try:
        date = datetime_parser(date)
        result = obj.remove_source(source=name,
                                   date=date)
        obj.save(username=user)
        return result
    except (ValidationError, TypeError), e:
        return {'success':False, 'message': e}
def source_remove ( type_ , id_ , name , date , user = None , * * kwargs ) : obj = class_from_id ( type_ , id_ ) if not obj : return { 'success' : False , 'message' : 'Unable to find object in database.' } try : date = datetime_parser ( date ) result = obj . remove_source ( source = name , date = date ) obj . save ( username = user ) return result except ( ValidationError , TypeError ) , e : return { 'success' : False , 'message' : e }