Code Duplication    Length = 38-42 lines in 2 locations

gvm/protocols/gmpv9/gmpv9.py 2 locations

@@ 404-445 (lines=42) @@
401
            preferences=preferences,
402
        )
403
404
    def create_tls_certificate(
405
        self,
406
        name: str,
407
        certificate: str,
408
        *,
409
        comment: Optional[str] = None,
410
        trust: Optional[bool] = None
411
    ) -> Any:
412
        """Create a new TLS certificate
413
414
        Arguments:
415
            name: Name of the TLS certificate, defaulting to the MD5
416
                fingerprint.
417
            certificate: The Base64 encoded certificate data (x.509 DER or PEM).
418
            comment: Comment for the TLS certificate.
419
            trust: Whether the certificate is trusted.
420
421
        Returns:
422
            The response. See :py:meth:`send_command` for details.
423
        """
424
        if not name:
425
            raise RequiredArgument(
426
                function=self.create_tls_certificate.__name__, argument='name'
427
            )
428
        if not certificate:
429
            raise RequiredArgument(
430
                function=self.create_tls_certificate.__name__,
431
                argument='certificate',
432
            )
433
434
        cmd = XmlCommand("create_tls_certificate")
435
436
        if comment:
437
            cmd.add_element("comment", comment)
438
439
        cmd.add_element("name", name)
440
        cmd.add_element("certificate", certificate)
441
442
        if trust:
443
            cmd.add_element("trust", _to_bool(trust))
444
445
        return self._send_xml_command(cmd)
446
447
    def get_tls_certificates(
448
        self,
@@ 607-644 (lines=38) @@
604
605
        return self._send_xml_command(cmd)
606
607
    def modify_tls_certificate(
608
        self,
609
        tls_certificate_id: str,
610
        *,
611
        name: Optional[str] = None,
612
        comment: Optional[str] = None,
613
        trust: Optional[bool] = None
614
    ) -> Any:
615
        """Modifies an existing TLS certificate.
616
617
        Arguments:
618
            tls_certificate_id: UUID of the TLS certificate to be modified.
619
            name: Name of the TLS certificate, defaulting to the MD5 fingerprint
620
            comment: Comment for the TLS certificate.
621
            trust: Whether the certificate is trusted.
622
623
        Returns:
624
            The response. See :py:meth:`send_command` for details.
625
        """
626
        if not tls_certificate_id:
627
            raise RequiredArgument(
628
                function=self.modify_tls_certificate.__name__,
629
                argument='tls_certificate_id',
630
            )
631
632
        cmd = XmlCommand("modify_tls_certificate")
633
        cmd.set_attribute("tls_certificate_id", str(tls_certificate_id))
634
635
        if comment:
636
            cmd.add_element("comment", comment)
637
638
        if name:
639
            cmd.add_element("name", name)
640
641
        if trust:
642
            cmd.add_element("trust", _to_bool(trust))
643
644
        return self._send_xml_command(cmd)
645
646
    def clone_tls_certificate(self, tls_certificate_id: str) -> Any:
647
        """Modifies an existing TLS certificate.