Code Duplication    Length = 60-60 lines in 2 locations

gvm/protocols/gmpv208/gmpv208.py 1 location

@@ 2991-3050 (lines=60) @@
2988
        cmd.set_attribute("vuln_id", vulnerability_id)
2989
        return self._send_xml_command(cmd)
2990
2991
    def modify_ticket(
2992
        self,
2993
        ticket_id: str,
2994
        *,
2995
        status: Optional[TicketStatus] = None,
2996
        note: Optional[str] = None,
2997
        assigned_to_user_id: Optional[str] = None,
2998
        comment: Optional[str] = None,
2999
    ) -> Any:
3000
        """Modify a single ticket
3001
3002
        Arguments:
3003
            ticket_id: UUID of an existing ticket
3004
            status: New status for the ticket
3005
            note: Note for the status change. Required if status is set.
3006
            assigned_to_user_id: UUID of the user the ticket should be assigned
3007
                to
3008
            comment: Comment for the ticket
3009
3010
        Returns:
3011
            The response. See :py:meth:`send_command` for details.
3012
        """
3013
        if not ticket_id:
3014
            raise RequiredArgument(
3015
                function=self.modify_ticket.__name__, argument='ticket_id'
3016
            )
3017
3018
        if status and not note:
3019
            raise RequiredArgument(
3020
                function=self.modify_ticket.__name__, argument='note'
3021
            )
3022
3023
        if note and not status:
3024
            raise RequiredArgument(
3025
                function=self.modify_ticket.__name__, argument='status'
3026
            )
3027
3028
        cmd = XmlCommand("modify_ticket")
3029
        cmd.set_attribute("ticket_id", ticket_id)
3030
3031
        if assigned_to_user_id:
3032
            _assigned = cmd.add_element("assigned_to")
3033
            _user = _assigned.add_element("user")
3034
            _user.set_attribute("id", assigned_to_user_id)
3035
3036
        if status:
3037
            if not isinstance(status, self.types.TicketStatus):
3038
                raise InvalidArgumentType(
3039
                    function=self.modify_ticket.__name__,
3040
                    argument='status',
3041
                    arg_type=TicketStatus.__name__,
3042
                )
3043
3044
            cmd.add_element('status', status.value)
3045
            cmd.add_element('{}_note'.format(status.name.lower()), note)
3046
3047
        if comment:
3048
            cmd.add_element("comment", comment)
3049
3050
        return self._send_xml_command(cmd)
3051
3052
    def create_filter(
3053
        self,

gvm/protocols/gmpv8/gmpv8.py 1 location

@@ 822-881 (lines=60) @@
819
        cmd.set_attribute("vuln_id", vulnerability_id)
820
        return self._send_xml_command(cmd)
821
822
    def modify_ticket(
823
        self,
824
        ticket_id: str,
825
        *,
826
        status: Optional[TicketStatus] = None,
827
        note: Optional[str] = None,
828
        assigned_to_user_id: Optional[str] = None,
829
        comment: Optional[str] = None,
830
    ) -> Any:
831
        """Modify a single ticket
832
833
        Arguments:
834
            ticket_id: UUID of an existing ticket
835
            status: New status for the ticket
836
            note: Note for the status change. Required if status is set.
837
            assigned_to_user_id: UUID of the user the ticket should be assigned
838
                to
839
            comment: Comment for the ticket
840
841
        Returns:
842
            The response. See :py:meth:`send_command` for details.
843
        """
844
        if not ticket_id:
845
            raise RequiredArgument(
846
                function=self.modify_ticket.__name__, argument='ticket_id'
847
            )
848
849
        if status and not note:
850
            raise RequiredArgument(
851
                function=self.modify_ticket.__name__, argument='note'
852
            )
853
854
        if note and not status:
855
            raise RequiredArgument(
856
                function=self.modify_ticket.__name__, argument='status'
857
            )
858
859
        cmd = XmlCommand("modify_ticket")
860
        cmd.set_attribute("ticket_id", ticket_id)
861
862
        if assigned_to_user_id:
863
            _assigned = cmd.add_element("assigned_to")
864
            _user = _assigned.add_element("user")
865
            _user.set_attribute("id", assigned_to_user_id)
866
867
        if status:
868
            if not isinstance(status, self.types.TicketStatus):
869
                raise InvalidArgumentType(
870
                    function=self.modify_ticket.__name__,
871
                    argument='status',
872
                    arg_type=TicketStatus.__name__,
873
                )
874
875
            cmd.add_element('status', status.value)
876
            cmd.add_element('{}_note'.format(status.name.lower()), note)
877
878
        if comment:
879
            cmd.add_element("comment", comment)
880
881
        return self._send_xml_command(cmd)
882
883
    def create_filter(
884
        self,