All Projects → vertretungsplanme → Substitution Schedule Parser

vertretungsplanme / Substitution Schedule Parser

Licence: mpl-2.0
Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries, including Untis, svPlan, and DAVINCI

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Substitution Schedule Parser

Length.js
📏 JavaScript library for length units conversion.
Stars: ✭ 292 (+784.85%)
Mutual labels:  parser, library
Mercury Parser
📜 Extract meaningful content from the chaos of a web page
Stars: ✭ 4,025 (+12096.97%)
Mutual labels:  parser-library, parser
Regex
The Hoa\Regex library.
Stars: ✭ 308 (+833.33%)
Mutual labels:  parser, library
Lark
Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
Stars: ✭ 2,916 (+8736.36%)
Mutual labels:  parser-library, parser
Compiler
The Hoa\Compiler library.
Stars: ✭ 458 (+1287.88%)
Mutual labels:  parser, library
Php Svg
Vector graphics (SVG) library for PHP
Stars: ✭ 256 (+675.76%)
Mutual labels:  parser, library
Shortcode
Advanced shortcode (BBCode) parser and engine for PHP
Stars: ✭ 331 (+903.03%)
Mutual labels:  parser, library
Pygdbmi
A library to parse gdb mi output and interact with gdb subprocesses
Stars: ✭ 139 (+321.21%)
Mutual labels:  parser-library, parser
Javalang
Pure Python Java parser and tools
Stars: ✭ 408 (+1136.36%)
Mutual labels:  parser, library
Swaggen
OpenAPI/Swagger 3.0 Parser and Swift code generator
Stars: ✭ 385 (+1066.67%)
Mutual labels:  parser, library
Tatsu
竜 TatSu generates Python parsers from grammars in a variation of EBNF
Stars: ✭ 198 (+500%)
Mutual labels:  parser-library, parser
Go Deb Version
A golang library for parsing deb package versions
Stars: ✭ 21 (-36.36%)
Mutual labels:  parser, library
Participle
A parser library for Go
Stars: ✭ 2,302 (+6875.76%)
Mutual labels:  parser-library, parser
Dart Petitparser
Dynamic parser combinators in Dart.
Stars: ✭ 266 (+706.06%)
Mutual labels:  parser-library, parser
Uriparser
🔪 Strictly RFC 3986 compliant URI parsing and handling library written in C89; moved from SourceForge to GitHub
Stars: ✭ 163 (+393.94%)
Mutual labels:  parser-library, library
Kgt
BNF wrangling and railroad diagrams
Stars: ✭ 312 (+845.45%)
Mutual labels:  parser-library, parser
Cppcmb
A generic C++17 parser-combinator library with a natural grammar notation.
Stars: ✭ 108 (+227.27%)
Mutual labels:  parser-library, parser
Java Petitparser
Dynamic parser combinators in Java.
Stars: ✭ 118 (+257.58%)
Mutual labels:  parser-library, parser
Anglesharp
👼 The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.
Stars: ✭ 4,018 (+12075.76%)
Mutual labels:  parser, library
Badx12
A Python Library for parsing ANSI ASC X12 files.
Stars: ✭ 25 (-24.24%)
Mutual labels:  parser, library

substitution-schedule-parser

Build Status Coverage Status Download Javadocs

vertretungsplan.me Logo

Java library for parsing schools' substitution schedules. Supports multiple different systems mainly used in the German-speaking countries.

The Android and iOS App vertretungsplan.app is powered by this library and supports more than 500 schools. An older version of the Android app is open source.

Usage

The sample directory contains a simple example that uses the library. The automatically generated Javadoc is available at javadoc.io.

Builds of the library are available through both the JCenter and Maven Central repositories. You can find instructions how to use them with different build systems (such as Gradle and Maven) at the Bintray website. It is also possible to download the library as a JAR file from that website.

When you use the library in your own project or do any modifications to it, please take note of the License it is distributed under. I would also appreciate it if you'd tell me what exciting projects you are using the library in, just drop me a mail at [email protected]!

If you run into problems using this library, you can simply report an issue and I will try to help you as soon as possible.

Supported substitution schedule software systems

Below you find the currently supported substitution schedule softwares and the corresponding values for SubstitutionScheduleData.setApi():

  • Untis
    • Monitor-Vertretungsplan (example) "untis-monitor"
    • Vertretungsplan (example) "untis-subst"
    • Info-Stundenplan (example) "untis-info"
      • Substitution tables: good support
      • Week timetables with substitution entries: experimental support, not recommended
    • Info-Stundenplan without header (example) "untis-info-headless"
  • svPlan (example) "svplan"
  • DaVinci (example) "davinci"
  • ESchool (example) "eschool"
  • LegionBoard "legionboard"
  • Indiware
    • XML export (example) "indiware"
    • XML export converted to HTML (example) "indiware"
    • Stundenplan24.de format (example) "stundenplan24"
    • Indiware Mobil (example) "indiware-mobile"

Depending on the type of software, different options need to be supplied in SubstitutionScheduleData.setData(). Documentation about these parameters can be found on each parser's page in the Javadoc.

License

This library is licensed under the Mozilla Public License, Version 2.0.

I would like to strongly encourage people that create and use modified versions of this library, for example by fixing bugs or adding support for a new substitution schedule software, to publish the changed source code no matter if the resulting product is released in executable form or not (e.g. by only being run on a web server or your own computer), even though this is only required by the terms of the license in the first case. Submitting Pull requests to contribute your changes back to the original project is also welcome.

Contributors

I would like to thank the following people for their contributions to this open source project:

Contributing

When you clone the git repository, you should directly be able to run ./gradlew sample:run to run the sample application. All dependencies will be downloaded automatically. You can also use IDEs such as IntelliJ IDEA that support the Gradle build system.

If you run into any problems building the project, you can email me at [email protected] or report an issue.

Please note that we have a Code of Conduct in place that applies to all project-related communication.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].