loader: Split DirectoryLoader in BaseDirectoryLoader and TarballDirectoryLoader

The former is the base class and the latter is one specific implementation for tarball. Previously it was a single class.

This explicits the current use for tarball directories. This will also allow to declare other directory loader implementations to deal with other origin types (vcs 'tree' as git, svn, hg). For this, developers need to provide a new class implementation per directory types. This class needs to inherit from BaseDirectoryLoader, and provide only the fetch_directory method.

Now the BaseDirectoryLoader class is an abstract class and TarballDirectoryLoader is the first implementation in charge of ingesting 'directory' coming from a tarball.

Further MRs will be opened to deal with Directory coming from Git, Hg or Svn in their respective loader package.

Refs. swh/meta#4979 (closed)

[1] swh-loader-svn!221 (merged)

Edited by Antoine R. Dumont

Merge request reports