<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_vt(self, vt_id, name=None, vt_params=None, vt_refs=None, custom=None, vt_creation_time=None, vt_modification_time=None, vt_dependencies=None, summary=None, impact=None, affected=None, insight=None, solution=None, solution_t=None, detection=None, qod_t=None, qod_v=None, severities=None):
 """ Add a vulnerability test information. Returns: The new number of stored VTs. -1 in case the VT ID was already present and thus the new VT was not considered. -2 in case the vt_id was invalid. """


        if not vt_id:
            return -2  # no valid vt_id

        if self.vt_id_pattern.fullmatch(vt_id) is None:
            return -2  # no valid vt_id

        if vt_id in self.vts:
            return -1  # The VT was already in the list.

        if name is None:
            name = ''

        self.vts[vt_id] = {'name': name}
        if custom is not None:
            self.vts[vt_id]["custom"] = custom
        if vt_params is not None:
            self.vts[vt_id]["vt_params"] = vt_params
        if vt_refs is not None:
            self.vts[vt_id]["vt_refs"] = vt_refs
        if vt_dependencies is not None:
            self.vts[vt_id]["vt_dependencies"] = vt_dependencies
        if vt_creation_time is not None:
            self.vts[vt_id]["creation_time"] = vt_creation_time
        if vt_modification_time is not None:
            self.vts[vt_id]["modification_time"] = vt_modification_time
        if summary is not None:
            self.vts[vt_id]["summary"] = summary
        if impact is not None:
            self.vts[vt_id]["impact"] = impact
        if affected is not None:
            self.vts[vt_id]["affected"] = affected
        if insight is not None:
            self.vts[vt_id]["insight"] = insight
        if solution is not None:
            self.vts[vt_id]["solution"] = solution
            if solution_t is not None:
                self.vts[vt_id]["solution_type"] = solution_t
        if detection is not None:
            self.vts[vt_id]["detection"] = detection
        if qod_t is not None:
            self.vts[vt_id]["qod_type"] = qod_t
        elif qod_v is not None:
            self.vts[vt_id]["qod"] = qod_v
        if severities is not None:
            self.vts[vt_id]["severities"] = severities

        return len(self.vts)