Completing Artifact and File class implementation
The Debusine Concepts call for elements of Artifacts and File which are not yet defined. In addition, there is a problem with the current File class and the size() method:
https://freexian-team.pages.debian.net/debusine/devel/design.html#artifacts The following operations are possible on artifacts:
- attach/remove a file
The save() method will not update File.size upon removal - it is currently framed only to initialize size, not update it / clear it on remove.
- To fix the save() method, decide on the usefulness of recording size when only File objects with a defined File.path will have a size. Many files used in debusine will contain checksums of other files, it may be more relevant to drop size() and instead implement support based on hashlib which can be used with both path and url File objects.
- Implement the remaining concepts with tests.