work-time: A library for parsing a chat-based work hour reporting scheme.

[ bsd3, business, library, program ] [ Propose Tags ]

Parses a certain format for hour and task reporting in chat/Slack form. See README for format.


[Skip to Readme]
Versions 0.1.0.0, 0.1.1.0, 0.1.2.0
Dependencies base (>=4.7 && <5), containers (>=0.5.10.2 && <0.6), megaparsec (>=6.4.1 && <7), text (>=1.2.3.0 && <1.3), work-time [details]
License BSD-3-Clause
Copyright 2018 Rickard Andersson
Author Rickard Andersson
Maintainer gonz@severnatazvezda.com
Category Business
Home page https://gitlab.com/gonz/work-time#work-time
Uploaded by gonz at Wed Jul 4 12:47:21 UTC 2018
Distributions NixOS:0.1.2.0
Executables work-time
Downloads 119 total (41 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-07-04 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for work-time-0.1.2.0

[back to package description]

work-time

A library for extracting work hours from an ad-hoc work hour reporting format in (for example) Slack.

Reason for existing

We had already established an ad-hoc format for reporting work hours and tasks and parsing these manually was getting tedious. Hence this library.

Example entry

An entire entry will look as follows:

Rickard Andersson [11:16 PM]
[28.02] 8.5h
worked on missile guidance system
cleaned up parsing code

The first part is represented by a MessageLine and what follows is one Workday in this example.

An entry can also look as follows:

steve [9:42 PM]
[01.03] 9h
fixed session management

Rickard Andersson [11:16 PM]
[28.02] 8.5h
worked on missile guidance system
cleaned up parsing code
[01.03] 6h
fixed critical bug in missile guidance system
removed half of parsing code

In this example we have several Workday in one WorkTime.

Example report functionality

> hoursFromText testData
Right [("RickardAndersson",14.5),("steve",9.0)]

In the case of a Left being returned this will contain a more or less informative error message from the parsing stage of the process.