hermes.commands.harvest.base
============================

.. py:module:: hermes.commands.harvest.base


Classes
-------

.. autoapisummary::

   hermes.commands.harvest.base.HermesHarvestPlugin
   hermes.commands.harvest.base._HarvestSettings
   hermes.commands.harvest.base.HermesHarvestCommand


Module Contents
---------------

.. py:class:: HermesHarvestPlugin

   Bases: :py:obj:`hermes.commands.base.HermesPlugin`


   Base plugin that does harvesting.

   TODO: describe the harvesting process and how this is mapped to this plugin.


   .. py:method:: __call__(command: hermes.commands.base.HermesCommand) -> Tuple[Dict, Dict]

      Execute the plugin.

      :param command: The command that triggered this plugin to run.



.. py:class:: _HarvestSettings(/, **data: Any)

   Bases: :py:obj:`pydantic.BaseModel`


   Generic harvesting settings.


   .. py:attribute:: sources
      :type:  list[str]
      :value: []



.. py:class:: HermesHarvestCommand(parser: argparse.ArgumentParser)

   Bases: :py:obj:`hermes.commands.base.HermesCommand`


   Harvest metadata from configured sources.


   .. py:attribute:: command_name
      :value: 'harvest'



   .. py:attribute:: settings_class


   .. py:method:: __call__(args: argparse.Namespace) -> None

      Execute the HERMES sub-command.

      :param args: The namespace that was returned by the command line parser when reading the arguments.



