core.storage
============

.. py:module:: core.storage

.. autoapi-nested-parse::

   Base module for Storage modules – modular components that store media objects in various locations.





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

.. py:class:: Storage

   Bases: :py:obj:`auto_archiver.core.BaseModule`


   Base class for implementing storage modules in the media archiving framework.

   Subclasses must implement the `get_cdn_url` and `uploadf` methods to define their behavior.


   .. py:method:: store(media: auto_archiver.core.Media, url: str, metadata: auto_archiver.core.Metadata = None) -> None


   .. py:method:: get_cdn_url(media: auto_archiver.core.Media) -> str
      :abstractmethod:


      Returns the URL of the media object stored in the CDN.



   .. py:method:: uploadf(file: IO[bytes], key: str, **kwargs: dict) -> bool
      :abstractmethod:


      Uploads (or saves) a file to the storage service/location.



   .. py:method:: upload(media: auto_archiver.core.Media, **kwargs) -> bool


   .. py:method:: set_key(media: auto_archiver.core.Media, url, metadata: auto_archiver.core.Metadata) -> None

      takes the media and optionally item info and generates a key



