requested to merge pmillar/fts-rest-flask:development/add-metalink-support into develop
FTS supports bulk operations, but using its own specific format. The metalink is a well-documented (see RFC 5854) XML format that describes how to receive a set of files.
Support for metalink would allow FTS to accept a bulk transfer request with the FTS user presenting the information in a standard fashion.
Add initial support for parsing the metalink XML format. The idea is that the user presents a base URL that all files (within the metalink file) are resolved against.
There are several limitations with the current implementation:
Metalink allows for a file to have multiple sources. This patch selects only the best url (the one with the lowest priority value).
There are several types of source URLs supported by metalink (http, bittorrent, etc.). The code currently assumes that any source URL is acceptable by FTS
In principle, the metalink allows a file to have different digest values, as calculated by different checksum algorithms. Currently, only adler32 checksums are supported.
It is now possible to submit a bulk request to FTS using a metalink file.