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.
8.0.0 #
- Pulled the lower-level DSB and Untis code out of
dsbuntisand made them their own packages (dsb,untis) - Got rid of the idea of a plan, they're now
Iterable<Page>s - Got rid of unnecessary JSON helpers (that didn't help)
- Added
Session.downloadAndParsePlansto ease certain use cases MergePlansonIterable<Iterable<Page>>to merge multi-page plans easilySession.downloadPlansis now also more spec compliant (respectsConType)- Heavily improved the
getAllSubscode
7.1.1 #
- 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)
7.1.0 #
- Started exposing other defaults as globals (
Session.defaultAppVersion,Session.defaultOsVersion,Session.defaultBundleId) - Added support for a custom bundle id to
Session.login
7.0.1 #
- Enabled caching for
Session.loginwith a TTL of 30 days, based on findings from aggregamus
7.0.0 #
- Removed the
Session.fromTokeninitializer in favor of a revisedSessionconstructor - Added
Session.defaultEndpointandSession.defaultPreviewEndpointfor getting those - Got rid of
getAuthToken, since it is trivial and rarely used - Better documentation
- Migrated from
pedantictolintsfor linting - Renamed
planParsertoPlanParser(that seems to be the new convention) - Extracted
parsePlansout ofSession(which also makes it static), because it doesn't depend on any of its members - Added
Session.getJsonStringandSession.getTimetableJsonString - Removed
Day.Null, camel-cased the other values, and usedDay?wherever needed.
6.1.0 #
- Added
Session.fromTokenfor quick-and-dirty construction ofSessions
6.0.1 #
schttp4 support
6.0.0 #
- Removed some deprecated APIs
- Added
Session.downloadPlansandSession.parsePlans(as replacements for the removedSession.getAndParse) - Stripped all values that are
nullfrom the JSONs - Changed
Substitution.compareToto not throw at all
5.1.0 #
- Split the code up (breaking if you used it wrong)
- Finally added the
SessionAPI - Deprecated
getTimetableJsonandgetAndParse - We now accept JSON that doesn't contain certain nullable keys
5.0.0 #
- Made the
notes,orgTeacherandroomparameters in theSubstitutionconstructor named - When loading
Substitutions from JSON,roomis no longer optional - Renamed
getJsontogetTimetableJsonto allow for supporting other data types in the future
4.4.0 #
- Added support for selecting a plan parser (or making a custom one) through
the optional
parserparameter ofgetAllSubsandgetAndParse - Made
Substitution.toStringalso print theroom Substitution.toJsonnow also includes theroom- More testing due to the addition of the
parserparameter
4.3.0 #
- Added
Substitution.fromUntisand a few others for parsing substitutions - Fixed a bug in
getAuthToken - Added
roomtoSubstitution, because some plans include it
4.2.0 #
- Made all errors throw
Exceptions/Errors, instead of returningnullor throwing Strings
4.1.0 #
- Added an optional parameter to not include the URLs in
Plan.toString
4.0.1 #
- Fixed a bug in
Plan.fromJson
4.0.0 #
- Changed the behavior of
getAllSubsto returnnullinstead of throwing1on error - The caching was sometimes wrong from
3.1.0to3.3.0, now it is fixed - Also made the
endpointconfigurable ingetAllSubs - Made the
ScHttpClientpassed togetAllSubsnamed:http(we had to) - Added the
downloadPreviewstogetAndParseandgetAllSubsto automatically download the preview frompreviewUrlintopreview(Substitution) - Changed the
searchInPlansimplementation to be non-destructive - The JSON methods now also load/save the preview for
Plan - Renamed
plansFromJsontoplansFromJsonStringandplansToJsontoplansToJsonString(inPlan) - Renamed
plansFromRawJsontoplansFromJsonandplansToRawJsontoplansToJson(inPlan) - All of the changes in schttp
3.0.0and3.1.0(like proxies)
3.3.0 #
- Added the
previewUrlto thePlanwhen getting from the API
3.2.0 #
- Addition of
plansToRawJsonandplansFromRawJson - Testing for the new Mobile API based backend
- schttp 2
3.1.0 #
- Support for controlled caching through schttp 1.1
- You can now leave out the
ScHttpClientfromgetAllSubs - Removed unused dependencies
3.0.0 #
- Migrated to DSB's Mobile API, because the Android API is dead.
2.0.1 #
- Sound null-safety
- Fixed a few test cases
2.0.0-nullsafety.0 #
- Unsound null safety
- Minor API changes where they made sense
1.1.2 #
- There was another, smaller bug in the comparison.
1.1.1 #
- The comparison in the previous version was broken.
1.1.0 #
- Made
SubstitutionsComparable
1.0.0 #
Many breaking API changes, like:
- Renamed basically everything, because the names were so broken.
- Moved
plansToJsonandplansFromJsontoPlan. - Every
Substitutionnow only contains onelesson.
0.5.0 #
- Removed unused parameters.
0.4.0 #
DsbPlannow also hasurl, which is the URL that the plan was fetched from.
0.3.2 #
- Switched to
html_searchfor searching in HTML.
0.3.1 #
- Fixed HTML Escape-Codes not being automatically unescaped.
0.3.0 #
- Added support for another substitution plan format, which also means changing
DsbSubstitution. (it seems like Untis 2021 changed something there)
0.2.0 #
- Added
dsbCheckCredentials - Renamed
dsbSortAllByHour→dsbSortByLesson
0.1.9 #
- The datetime sent to DSB was wrong and fixed now.
0.1.8 #
- Safer code.
0.1.7 #
- More tests.
0.1.6 #
- Wrote some documentation.
0.1.2 – 0.1.5 #
- Fixed some coding style things.
0.1.1 #
- Fixed the naming of
hoursandactualHours(lessons,actualLessons).
0.1.0 #
- The initial release.
- It is mostly just 1:1 copied from Amplessimus.
- It can crawl DSB and parse Untis-HTML.