An open API service indexing awesome lists of open source software.

https://github.com/igeligel/schedulostfalia

:clock1: Parser for the time schedule of the Ostfalia Hochschule für angewandte Wissenschaften in Wolfenbüttel. It will give you an easily readable format on your console via Haskell/GHCI.
https://github.com/igeligel/schedulostfalia

haskell haskell-learning html ostfalia parser

Last synced: 11 months ago
JSON representation

:clock1: Parser for the time schedule of the Ostfalia Hochschule für angewandte Wissenschaften in Wolfenbüttel. It will give you an easily readable format on your console via Haskell/GHCI.

Awesome Lists containing this project

README

          

# schedulostfalia by igeligel


badge Donate badge Donate badge License

## Description

> Parser for the [time schedule of the Ostfalia Hochschule für angewandte Wissenschaften](http://splus.ostfalia.de/semesterplan123.php) in Wolfenbüttel. It will give you an easily readable format on your console via [Haskell](https://www.haskell.org/)/[GHCI](https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html).

## Dependencies

This library is using wreq to do HTTP Requests so you need to install it before using the library. To install this refer to [Installation](#installation), You also need cabal for the installation.

| Dependency | Version |
| -- | -- |
| wreq | -/- |

## Installation

To install the dependencies you need to install [Cabal](https://www.haskell.org/cabal/).

You have to install [wreq](https://hackage.haskell.org/package/wreq) in order to run this project. To do so type following into your console:

```bash
cabal update
cabal install -j --disable-tests wreq
```

After this you can clone this repository by using:

```bash
git clone https://github.com/igeligel/schedulostfalia.git
```

## How To Use

Switch to the src directory by:

```bash
cd ./src
```

After this run the [GHCI](https://www.haskell.org/ghc/):

```bash
ghci
```

Then you should load the the core of this project by typing:

```bash
Prelude> :l core.hs
```

After this you can run the main function of this repository which is called ``getSchedule``. This function will take two parameters:

| Name | Type | Description |
| -- | -- | -- |
| CourseId | String | Id of the course. For a full list of courses lookup [this csv](https://github.com/igeligel/schedulostfalia/blob/master/docs/course-list.csv). |
| Week | Integer | Number of the week you want to lookup. |

## Examples

Example Call:

```bash
Prelude> getSchedule "SPLUS7A3292" 16
```

Output:

```bash
[((8,15),(9,45),"Thursday","Grundlagen des Programmierens - VL","Hörsaal 252","Prof. Dr. F. Höppner"),((10,0),(11,30),"Thursday","Grundlagen des Programmierens - VL","Hörsaal 252","Prof. Dr. F. Höppner"),((12,0),(13,30),"Thursday","Diskrete Strukturen","Hörsaal 252","Prof. Dr. P. Riegler"),((12,0),(13,30),"Friday","Technische Grundlagen der Informatik - VL","11/1","Dipl.-Ing. K. Dammann"),((14,15),(15,45),"Thursday","Technische Grundlagen der Informatik - VL","11/1","Dipl.-Ing. K. Dammann"),((14,15),(15,45),"Friday","Diskrete Strukturen","Hörsaal 252","Prof. Dr. P. Riegler")]
```

## Contributing

To contribute please lookup the following styleguides:

- Commits: [here](https://github.com/igeligel/contributing-template/blob/master/commits.md)

## Resources

### Motivation

This project was created in the course 'Weitere Programmiersprache' in the [Ostfalia Hochschule für angewandte Wissenschaften](https://www.ostfalia.de/cms/de/). It is a simple project to show Haskell's ability to parse HTML into structured data.

### Architecture

The architecture contains different modules. Only ``core.hs`` should be touched by the outside.

## Contact


Discord server of Kevin Peters
Twitter of Kevin Peters
Steam Profile of Kevin Peters

## License

*schedulostfalia* is realeased under the MIT License.

Contributors


igeligel

Contributions: 20

## This readme is powered by vue-readme

Check out vue-readme [[Website](https://igeligel.github.io/vue-readme) | [GitHub](https://github.com/igeligel/vue-readme)]