dsbuntis 8.0.0 dsbuntis: ^8.0.0 copied to clipboard
This package allows you to crawl the DSB/DSBMobile API and parse Untis's HTML.
- Pulled the lower-level DSB and Untis code out of
dsbuntisand made them their own packages (
- Got rid of the idea of a plan, they're now
- Got rid of unnecessary JSON helpers (that didn't help)
Session.downloadAndParsePlansto ease certain use cases
Iterable<Iterable<Page>>to merge multi-page plans easily
Session.downloadPlansis now also more spec compliant (respects
- Heavily improved the
- Hotfix to represent every page of multi-page plans as their own plan (to not break everything before we know how to do it properly)
- Started exposing other defaults as globals (
- Added support for a custom bundle id to
- Removed the
Session.fromTokeninitializer in favor of a revised
Session.defaultPreviewEndpointfor getting those
- Got rid of
getAuthToken, since it is trivial and rarely used
- Better documentation
- Migrated from
PlanParser(that seems to be the new convention)
Session(which also makes it static), because it doesn't depend on any of its members
Day.Null, camel-cased the other values, and used
Session.fromTokenfor quick-and-dirty construction of
- Removed some deprecated APIs
Session.parsePlans(as replacements for the removed
- Stripped all values that are
nullfrom the JSONs
Substitution.compareToto not throw at all
- Split the code up (breaking if you used it wrong)
- Finally added the
- We now accept JSON that doesn't contain certain nullable keys
- Made the
roomparameters in the
- When loading
Substitutions from JSON,
roomis no longer optional
getTimetableJsonto allow for supporting other data types in the future
- Added support for selecting a plan parser (or making a custom one) through
Substitution.toStringalso print the
Substitution.toJsonnow also includes the
- More testing due to the addition of the
Substitution.fromUntisand a few others for parsing substitutions
- Fixed a bug in
Substitution, because some plans include it
- Made all errors throw
Errors, instead of returning
nullor throwing Strings
- Added an optional parameter to not include the URLs in
- Fixed a bug in
- Changed the behavior of
nullinstead of throwing
- The caching was sometimes wrong from
3.3.0, now it is fixed
- Also made the
- Made the
http(we had to)
- Added the
getAllSubsto automatically download the preview from
- Changed the
searchInPlansimplementation to be non-destructive
- The JSON methods now also load/save the preview for
- All of the changes in schttp
- Added the
Planwhen getting from the API
- Addition of
- Testing for the new Mobile API based backend
- schttp 2
- Support for controlled caching through schttp 1.1
- You can now leave out the
- Removed unused dependencies
- Migrated to DSB's Mobile API, because the Android API is dead.
- Sound null-safety
- Fixed a few test cases
- Unsound null safety
- Minor API changes where they made sense
- There was another, smaller bug in the comparison.
- The comparison in the previous version was broken.
Many breaking API changes, like:
- Renamed basically everything, because the names were so broken.
Substitutionnow only contains one
- Removed unused parameters.
DsbPlannow also has
url, which is the URL that the plan was fetched from.
- Switched to
html_searchfor searching in HTML.
- Fixed HTML Escape-Codes not being automatically unescaped.
- Added support for another substitution plan format, which also means changing
DsbSubstitution. (it seems like Untis 2021 changed something there)
- The datetime sent to DSB was wrong and fixed now.
- Safer code.
- More tests.
- Wrote some documentation.
0.1.2 – 0.1.5 #
- Fixed some coding style things.
- Fixed the naming of
- The initial release.
- It is mostly just 1:1 copied from Amplessimus.
- It can crawl DSB and parse Untis-HTML.