Skip to content

A program to generate pretty-printed (SVG and PostScript currently) lab schedules

Notifications You must be signed in to change notification settings

twopoint718/Scheduler

Repository files navigation

=========== Scheduler

Scheduler generates pretty-printed lab information placards in PostScript format for lab rooms. The usage is simple: the program takes no command line parameters. Scheduler looks for text files in the same directory as itself that are named like:

103_4320.txt

where '103' is a course number and '4320' is a room number. The files contain lab sections, one per line, in the following format(s):

M,12:05   301      Ojalvo    14:00

               --or--

T,14:25   (321)301 Dhorkah   17:25  (multiple labs in one room)
W,14:25   (623)301 McDermott 17:25

               --or--

F,8:00    C                  15:00  (consultation section)

additional whitespace is not significant between groups of non-whitespace characters, though there has to be at least some! Please note that the 'M,12:05' part MUST NOT contain whitespace, and MUST contain a comma.

The output will resemble this...

                     Physics 103 | 4320                           
|-------+---------------+---------+-----------+----------+--------|
|       | Monday        | Tuesday | Wednesday | Thursday | Friday |
|-------+---------------+---------+-----------+----------+--------|
|  7:45 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  8:50 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  9:55 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
| 11:00 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
| 12:05 | 301           |         |           |          |        |
|       | Ojalvo        |         |           |          |        |
|       | 12:05 -- 2:00 |         |           |          |        |
|       |               |         |           |          |        |
|-------|               |---------+-----------+----------+--------|
|  1:20 +---------------+         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  2:25 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  3:30 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  4:35 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  7:05 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
|  9:00 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|
| 10:00 |               |         |           |          |        |
|-------+---------------+---------+-----------+----------+--------|

Installation and Usage

Scheduler is a Python 3 program. It will not work with the Python 2.x series. Just run the 'scheduler.py' program in the main directory.

Coverage and Testing

Scheduler comes with a test suite, 'test_scheduler.py', which provides many test cases in an effort to get 100% line coverage. You can run the coverage tool with 'make coverage'. This will run the test suite and determine if it exercises all lines of code. There should be 100% coverage in all the modules tested. You will need Ned Batchelder's 'coverage' tool in order to run this: http://nedbatchelder.com/code/coverage/

About

A program to generate pretty-printed (SVG and PostScript currently) lab schedules

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages