- Fixed TypeError when passing strings to path argument of
Installer
.
- Added installer shortcut to
Root
. - Warnings have been reworked into subclasses and moved to a new module,
warnings
.
- Improved parser reliability on broken syntax:
- Invalid attributes that resolve to enums now use the default value;
- Missing required attributes are to a sensible default;
- Some missing required attributes are REALLY required (like file paths) so they are just skipped;
- All of the above will produce a proper warning.
- Fix Installer error when request file/flag list.
- Fix validation callbacks' return value handling - they are now being properly treated as a list.
- First stable release.
- Added installer support.
- Fix omitted destination field in
File
being the same as an empty string - it is nowNone
. - Fix multiline text not being fully parsed.
- Fix missing warning for missing info.xml file.
- Added support for
moduleImage
tag asImage
. - Reworked warnings:
- No longer uses the native python
warnings
; - Warnings are now
ValidationWarning
objects; - The
validate
functions return a list of these objects; - You can pass a list as a keyword argument to
parse
to collect the warnings instead of passingquiet
; - The user-defined callbacks for
validate
now should return a single warnings object.
- No longer uses the native python
- Added group/option type warnings:
- SelectAtMostOne/SelectExactlyOne group with multiple required options;
- SelectAtLeastOne/SelectExactlyOne group with no selectable options.
- Added a
CriticalWarning
for non-explicit order attributes.
CriticalWarning
's no longer have the extra little message at the end.- Detected comments warning is now a
CriticalWarning
. - Added a
CriticalWarning
for when info.xml is missing. - Added a kwarg to
parse
,lineno
, that when true provides the source line numbers to each element object at the cost of performance.
- Complete project and API rework.
- Previous API has been entirely deprecated.
- Removed second argument to
can_reorder_child
- movement is no longer restricted. - Fixed installer module's documentation.
FomodElement.add_child
now returns the added element.FomodElement.add_child
should now create type element instead of dependencyType under typeDescriptor element.- Added setters to metadata properties in
Root
. - Attributes should now be handled correctly.
- Updated custom fomod schema to be inline with the changes in 5.1
- Added full fomod installer.
- General fomod metadata is now accessible in the
Root
object via properties. - Improved
check_for_errors
's output. get_installer_files
now correctly raisesFileNotFoundError
instead of the genericIOError
.
- Added low-level API that allows for better control over the xml tree than plain lxml.
- Initial release.