Code Duplication    Length = 26-26 lines in 2 locations

mandos/entries/entries.py 2 locations

@@ 630-655 (lines=26) @@
627
628
629
class EntryTransporterGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):
630
    @classmethod
631
    def run(
632
        cls,
633
        path: Path = EntryArgs.path,
634
        key: str = EntryArgs.key("inter.drugbank:pk-fn"),
635
        to: Optional[Path] = EntryArgs.to,
636
        check: bool = EntryArgs.test,
637
        log: Optional[Path] = EntryArgs.log_path,
638
        quiet: bool = EntryArgs.quiet,
639
        verbose: bool = EntryArgs.verbose,
640
        no_setup: bool = EntryArgs.no_setup,
641
    ) -> Searcher:
642
        """
643
        DrugBank PK-related protein functions.
644
645
        OBJECT: Name of the general function (e.g. "Toxic substance binding")
646
647
        PREDICATE: "transported by", "carried by", or "metabolized by"
648
        """
649
        target_types = {
650
            DrugbankTargetType.transporter,
651
            DrugbankTargetType.carrier,
652
            DrugbankTargetType.enzyme,
653
        }
654
        built = DrugbankGeneralFunctionSearch(key, Apis.Pubchem, target_types)
655
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
656
657
658
class EntryDrugbankDdi(Entry[DrugbankDdiSearch]):
@@ 601-626 (lines=26) @@
598
599
600
class EntryDrugbankTransporter(Entry[DrugbankTargetSearch]):
601
    @classmethod
602
    def run(
603
        cls,
604
        path: Path = EntryArgs.path,
605
        key: str = EntryArgs.key("inter.drugbank:pk"),
606
        to: Optional[Path] = EntryArgs.to,
607
        check: bool = EntryArgs.test,
608
        log: Optional[Path] = EntryArgs.log_path,
609
        quiet: bool = EntryArgs.quiet,
610
        verbose: bool = EntryArgs.verbose,
611
        no_setup: bool = EntryArgs.no_setup,
612
    ) -> Searcher:
613
        """
614
        PK-related proteins from DrugBank.
615
616
        OBJECT: Transporter name (e.g. "Solute carrier family 22 member 11") from DrugBank
617
618
        PREDICATE: "transported by", "carried by", or "metabolized by"
619
        """
620
        target_types = {
621
            DrugbankTargetType.transporter,
622
            DrugbankTargetType.carrier,
623
            DrugbankTargetType.enzyme,
624
        }
625
        built = DrugbankTargetSearch(key, Apis.Pubchem, target_types)
626
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
627
628
629
class EntryTransporterGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):