Code Duplication    Length = 38-42 lines in 2 locations

gvm/protocols/gmpv9/gmpv9.py 2 locations

@@ 424-465 (lines=42) @@
421
            preferences=preferences,
422
        )
423
424
    def create_tls_certificate(
425
        self,
426
        name: str,
427
        certificate: str,
428
        *,
429
        comment: Optional[str] = None,
430
        trust: Optional[bool] = None
431
    ) -> Any:
432
        """Create a new TLS certificate
433
434
        Arguments:
435
            name: Name of the TLS certificate, defaulting to the MD5
436
                fingerprint.
437
            certificate: The Base64 encoded certificate data (x.509 DER or PEM).
438
            comment: Comment for the TLS certificate.
439
            trust: Whether the certificate is trusted.
440
441
        Returns:
442
            The response. See :py:meth:`send_command` for details.
443
        """
444
        if not name:
445
            raise RequiredArgument(
446
                function=self.create_tls_certificate.__name__, argument='name'
447
            )
448
        if not certificate:
449
            raise RequiredArgument(
450
                function=self.create_tls_certificate.__name__,
451
                argument='certificate',
452
            )
453
454
        cmd = XmlCommand("create_tls_certificate")
455
456
        if comment:
457
            cmd.add_element("comment", comment)
458
459
        cmd.add_element("name", name)
460
        cmd.add_element("certificate", certificate)
461
462
        if trust:
463
            cmd.add_element("trust", _to_bool(trust))
464
465
        return self._send_xml_command(cmd)
466
467
    def get_tls_certificates(
468
        self,
@@ 636-673 (lines=38) @@
633
634
        return self._send_xml_command(cmd)
635
636
    def modify_tls_certificate(
637
        self,
638
        tls_certificate_id: str,
639
        *,
640
        name: Optional[str] = None,
641
        comment: Optional[str] = None,
642
        trust: Optional[bool] = None
643
    ) -> Any:
644
        """Modifies an existing TLS certificate.
645
646
        Arguments:
647
            tls_certificate_id: UUID of the TLS certificate to be modified.
648
            name: Name of the TLS certificate, defaulting to the MD5 fingerprint
649
            comment: Comment for the TLS certificate.
650
            trust: Whether the certificate is trusted.
651
652
        Returns:
653
            The response. See :py:meth:`send_command` for details.
654
        """
655
        if not tls_certificate_id:
656
            raise RequiredArgument(
657
                function=self.modify_tls_certificate.__name__,
658
                argument='tls_certificate_id',
659
            )
660
661
        cmd = XmlCommand("modify_tls_certificate")
662
        cmd.set_attribute("tls_certificate_id", str(tls_certificate_id))
663
664
        if comment:
665
            cmd.add_element("comment", comment)
666
667
        if name:
668
            cmd.add_element("name", name)
669
670
        if trust:
671
            cmd.add_element("trust", _to_bool(trust))
672
673
        return self._send_xml_command(cmd)
674
675
    def clone_tls_certificate(self, tls_certificate_id: str) -> Any:
676
        """Modifies an existing TLS certificate.