Releases: noah978/AltSourceParser
AltSource API Updates - Now with App Permissions
For this release, I have overhauled the model in a pretty substantial way.
Each piece of the model is now derived from a base class that establishes a way for objects that inherit from it to determine their equality based on their "properties". Meaning, every app.name
or app.identifier
or any of the "dot" properties I've added to mirror the json, will be automatically used to determine equality. Furthermore, things like Versions are now comparable with each other using an absolute version (if applicable) or a combination of the version and buildVersion. This is now the defacto / required way to compare versions because it actually takes into account all the different properties.
You'll also find new optional properties for all the things like the Source about page. Properties have also been reordered around to have a default order and all non-recognized AltSource properties are now trimmed from the file by default (you can change this in the AltSourceManager save method).
These under the hood changes will make it much easier to upkeep and maintain the model with future changes while still making it very extensible. There are swaths of things to talk about, but rest assured, there are still plans to maintain and improve this project in the future.
SHA256 support
AltSources now have the ability to have documented sha256 strings for each released version.
A new method update_hashes
allows for an easy method to ensure that you have hashes in all of your apps. Additionally, any apps that are updated via a Github Parser will automatically come with the sha256 calculated.
It should be noted that anytime a version's sha256 is calculated, the entire IPA file will have to be downloaded. So this process may take a significant amount of time and bandwidth if a lot of versions are being processed.
Various fixes and AltSource model updates
These couple bug fixes start moving towards the AltSource v2.0 API standard.
Important fixes include:
- no longer allows adding duplicate versions as per AltStore's requirements
- updates to various error handling issues
InvalidVersion Patch
Patches the InvalidVersion error making it past the update loop.
Fixed various issues to solidify functionality
v0.1.2 Stage to go live on PyPI
Initial release
After a great period of time spent refactoring some very rushed code, I have finally come to the first version that I am satisfied with the structuring of the project.
Don't get me wrong, there will be a GREAT many more changes in the future. I still have to:
- fix the design and use of the ipautil submodule
- create a brand new CLI
- refactor parsers and altsourcemanager to all utilize the same logic so that the user can create their own Parser subclass to use aside from the defaults
But alas, this is a good enough first release to put up on PyPI and get rolled out so that sites like sidestore and quarksources can simplify their logic for sources.