Rename set_default_page_list to apply_default_page_list and apply
during read_metadata
Add a filename attribute to the ImageMetadata class
Mark image_index as required
Always sort the page name list, a comic application will never need the
unsorted list of names
Assign the first result from get_cover_page_index_list to coverImage in
CoMet tags
Allow an Archiver to be passed to the ComicArchive constructor
Make group names presentable to users and add builtin plugins during namespace generation.
Revamp talkeruigenerator.py to use generated group and setting names and remove as much hard-coded strings as possible
Add a --list-plugins commandline option
If the ComicCacher is to be a generic cache for talkers it must assume
very little. Current assumptions:
- There are issues that can be queried individually by an "Issue ID" and they have a relation to a single series
- There are series that can be queried individually by an "Series ID" and they have a relation to zero or more issues
- There are Searches that can be queried by the search term and they have a relation to zero or more series
Each series and issue have a boolean `complete` attribute which is up to the talker to decide what it means.
Data is returned as a tuple ([series, complete] or [issue, complete]) or a list of tuples
An issue consists of an ID, an series ID and a binary data attribute which is up to the talker to determine what it means.
An series consists of in ID and a binary data attribute which is up to the talker to determine what it means.
The data attribute is binary to allow for compression and efficient storage of binary data (e.g. pickle) it is suggested to store it as json or similar text format encoded with utf-8. If the talker is using a website API it is suggested to store the raw response from the server.
All caches automatically expire 7 days after insertion.