dsbuntis 8.0.0-alpha.7 dsbuntis: ^8.0.0-alpha.7 copied to clipboard
This package allows you to crawl the DSB/DSBMobile API and parse Untis's HTML.
8.0.0-alpha.7 #
- Added
Session.downloadAndParsePlans
to ease certain use cases - Added
Iterable<Iterable<T>>.toNestedList
for temporarily making that easier (will be removed in 9.0 probably)
8.0.0-alpha.6 #
- Got rid of the multi-file architecture
8.0.0-alpha.5 #
- Fixed incompatibilities with
untis
0.1.0-alpha.4
8.0.0-alpha.4 #
MergePlans
onIterable<Iterable<Page>>
to merge multi-page plans easily
8.0.0-alpha.3 #
- Got rid of the idea of a plan, they're now
List<Page>
s Session.downloadPlans
is now also more spec compliant (respectsConType
)- Got rid of unnecessary JSON helpers (that didn't help)
8.0.0-alpha.2 #
- Made the
parser
inDownloadingPlans.parse
optional (I thought it wasn't necessary previously)
8.0.0-alpha.1 #
- First attempt at pulling
untis
out ofdsbuntis
8.0.0-alpha.0 #
- First attempt at pulling
dsb
out ofdsbuntis
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.login
with a TTL of 30 days, based on findings from aggregamus
7.0.0 #
- Removed the
Session.fromToken
initializer in favor of a revisedSession
constructor - Added
Session.defaultEndpoint
andSession.defaultPreviewEndpoint
for getting those - Got rid of
getAuthToken
, since it is trivial and rarely used - Better documentation
- Migrated from
pedantic
tolints
for linting - Renamed
planParser
toPlanParser
(that seems to be the new convention) - Extracted
parsePlans
out ofSession
(which also makes it static), because it doesn't depend on any of its members - Added
Session.getJsonString
andSession.getTimetableJsonString
- Removed
Day.Null
, camel-cased the other values, and usedDay?
wherever needed.
6.1.0 #
- Added
Session.fromToken
for quick-and-dirty construction ofSession
s
6.0.1 #
schttp
4 support
6.0.0 #
- Removed some deprecated APIs
- Added
Session.downloadPlans
andSession.parsePlans
(as replacements for the removedSession.getAndParse
) - Stripped all values that are
null
from the JSONs - Changed
Substitution.compareTo
to not throw at all
5.1.0 #
- Split the code up (breaking if you used it wrong)
- Finally added the
Session
API - Deprecated
getTimetableJson
andgetAndParse
- We now accept JSON that doesn't contain certain nullable keys
5.0.0 #
- Made the
notes
,orgTeacher
androom
parameters in theSubstitution
constructor named - When loading
Substitution
s from JSON,room
is no longer optional - Renamed
getJson
togetTimetableJson
to 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
parser
parameter ofgetAllSubs
andgetAndParse
- Made
Substitution.toString
also print theroom
Substitution.toJson
now also includes theroom
- More testing due to the addition of the
parser
parameter
4.3.0 #
- Added
Substitution.fromUntis
and a few others for parsing substitutions - Fixed a bug in
getAuthToken
- Added
room
toSubstitution
, because some plans include it
4.2.0 #
- Made all errors throw
Exception
s/Error
s, instead of returningnull
or 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
getAllSubs
to returnnull
instead of throwing1
on error - The caching was sometimes wrong from
3.1.0
to3.3.0
, now it is fixed - Also made the
endpoint
configurable ingetAllSubs
- Made the
ScHttpClient
passed togetAllSubs
named:http
(we had to) - Added the
downloadPreviews
togetAndParse
andgetAllSubs
to automatically download the preview frompreviewUrl
intopreview
(Substitution
) - Changed the
searchInPlans
implementation to be non-destructive - The JSON methods now also load/save the preview for
Plan
- Renamed
plansFromJson
toplansFromJsonString
andplansToJson
toplansToJsonString
(inPlan
) - Renamed
plansFromRawJson
toplansFromJson
andplansToRawJson
toplansToJson
(inPlan
) - All of the changes in schttp
3.0.0
and3.1.0
(like proxies)
3.3.0 #
- Added the
previewUrl
to thePlan
when getting from the API
3.2.0 #
- Addition of
plansToRawJson
andplansFromRawJson
- 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
ScHttpClient
fromgetAllSubs
- 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
Substitution
sComparable
1.0.0 #
Many breaking API changes, like:
- Renamed basically everything, because the names were so broken.
- Moved
plansToJson
andplansFromJson
toPlan
. - Every
Substitution
now only contains onelesson
.
0.5.0 #
- Removed unused parameters.
0.4.0 #
DsbPlan
now also hasurl
, which is the URL that the plan was fetched from.
0.3.2 #
- Switched to
html_search
for 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
hours
andactualHours
(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.