Code Duplication    Length = 21-21 lines in 2 locations

mandos/entries/entries.py 2 locations

@@ 577-597 (lines=21) @@
574
575
576
class EntryGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):
577
    @classmethod
578
    def run(
579
        cls,
580
        path: Path = EntryArgs.path,
581
        key: str = EntryArgs.key("inter.drugbank:target-fn"),
582
        to: Optional[Path] = EntryArgs.to,
583
        check: bool = EntryArgs.test,
584
        log: Optional[Path] = EntryArgs.log_path,
585
        quiet: bool = EntryArgs.quiet,
586
        verbose: bool = EntryArgs.verbose,
587
        no_setup: bool = EntryArgs.no_setup,
588
    ) -> Searcher:
589
        """
590
        General functions from DrugBank targets.
591
592
        OBJECT: Name of the general function (e.g. "Toxic substance binding")
593
594
        PREDICATE: against on target (e.g. "binder", "downregulator", or "agonist").
595
        """
596
        built = DrugbankGeneralFunctionSearch(key, Apis.Pubchem, {DrugbankTargetType.target})
597
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
598
599
600
class EntryDrugbankTransporter(Entry[DrugbankTargetSearch]):
@@ 553-573 (lines=21) @@
550
551
552
class EntryDrugbankTarget(Entry[DrugbankTargetSearch]):
553
    @classmethod
554
    def run(
555
        cls,
556
        path: Path = EntryArgs.path,
557
        key: str = EntryArgs.key("inter.drugbank:target"),
558
        to: Optional[Path] = EntryArgs.to,
559
        check: bool = EntryArgs.test,
560
        log: Optional[Path] = EntryArgs.log_path,
561
        quiet: bool = EntryArgs.quiet,
562
        verbose: bool = EntryArgs.verbose,
563
        no_setup: bool = EntryArgs.no_setup,
564
    ) -> Searcher:
565
        """
566
        Protein targets from DrugBank.
567
568
        OBJECT: Target name (e.g. "Solute carrier family 22 member 11") from DrugBank
569
570
        PREDICATE: Action (e.g. "binder", "downregulator", or "agonist")
571
        """
572
        built = DrugbankTargetSearch(key, Apis.Pubchem, {DrugbankTargetType.target})
573
        return cls._run(built, path, to, check, log, quiet, verbose, no_setup)
574
575
576
class EntryGeneralFunction(Entry[DrugbankGeneralFunctionSearch]):