maxmouchet/vamk-timetables — pull request #3 by maxmouchet (2014-02-16 08:53:25+00:00)
Title: Parser refactoring

Added classes to facilitate parsers usage and API generation. I put a small summary below and documentation will follow soon.

## Worfklows and Outputs
Added `Worfklow` and `Output`.
- A Workflow takes zero or more strings in input and should return a set of schedules.
- An Output takes zero or more strings and an array of schedule in input and do something with it.

## Runner, Scenarios, and configuration
- Scenarios are combinations of workflows and scenarios.
- Runner is a CLI interface to execute scenarios from a JSON configuration file.

Usage: `runner configuration_file`
Example:
```json
[
{
"workflow": {
"name": "workflows.vamk.ITVAMKPeriodWorkflow",
"args": [
"http://www.bet.puv.fi/schedule/kevat2014/mfw.htm"
]
},
"output": {
"name": "outputs.JSONAPIOutput",
"args": []
}
},
{
"workflow": {
"name": "workflows.vamk.IBVAMKTimetableWorkflow",
"args": [
"http://www.bet.puv.fi/studies/lukujarj/LV_13_14/K2014/x3027t-ib-ex3354.htm"
]
},
"output": {
"name": "outputs.ConsoleOutput",
"args": []
}
}
]
```

## Frontend changes
- In the header Help is replace by a status popover.