Allow clients to provide a callback function that the LOOT API will use
when logging. This provides more flexibility than the previous choice of
outputting to an exclusive file or the console.
(Re)load the current state when loading plugins, and add an API function for managing load order state so that clients have full control over when libloadorder reloads its cached state.
Use ISO language codes directly instead, which has the advantage that
new languages can be used in metadata without having up update the API
to support them. Closes#5.
As nothing scans for translatable text or loads translations. Closes#1.
Doing this requires some API changes:
- PluginCleaningData::AsMessage() has been removed (it'll be
reimplemented in the GUI)
- GitHelper's error message can no longer be set, the messages will be
constructed in the GUI when the exception is caught.
- Masterlist rollback during update can no longer be noted in a message
by the API, so instead clients must use a new API function that checks
if the masterlist revision is the latest and so determine if rollback
occurred.
- If a plugin file cannot be parsed, it'll throw a FileAccessError
instead of recording the failure in a message stored in the Plugin
object. This is an error that should never happen, as only plugins that
pass the IsValid check get loaded, so this shouldn't have any real
impact. Also, getting this error was the only use for
GetStatusMessages(), so that's been removed.
- Any metadata condition eval failures that occur during sorting no
longer have their exceptions caught, so they propagate up through the
API. Again, this shouldn't ever really happen, since all conditions are
checked for validity on parsing.