Source code for solidipes_core_plugin.downloaders.rclone

# import os

from solidipes.downloaders.downloader import Downloader
from solidipes.utils import solidipes_logging as logging

from solidipes_core_plugin.utils.rclone_utils import RcloneUtils, declare_subclasses

################################################################
print = logging.invalidPrint
logger = logging.getLogger()
################################################################


[docs] class RcloneDownloader(Downloader, RcloneUtils): parser_key = "rclone" def __init__(self, **kwargs): super().__init__(**kwargs) if not hasattr(self, "_remote"): if "://" not in self.url: self._remote = self.url else: raise RuntimeError("A remote name must be provided")
[docs] def download(self): self.sync(self.remote + ":", self.destination, "--progress")
################################################################ subclasses = declare_subclasses(RcloneDownloader, "Downloader") globals().update(subclasses)