Added
- Command line options for Chronophore:
- `--testdb` 'create and use a database with test users'
- Test user IDs: `000000000`, `000111111`, `000222222`
- `--verbose` 'print a detailed log'
- `--debug` 'print debug log'
- `--version` 'print version info and exit'
- Support for different types of user:
- Each user can be a student, a tutor, or both.
- If they are both a student and a tutor, they will be prompted to choose each time they sign in.
- Automatic flagging of bad timesheet entries:
- Each time Chronophore starts, it looks through the timesheet data from past days, finds any entries where a user forgot to sign out, and flags them.
Changed
- Chronophore now stores data in a single sqlite database containing of the following two tables:
- **users**: Information about all registered users.
- **timesheet**: Sign-in and sign-out data.
- The database can be managed and browsed by many free and open source tools.
- [DB Browser for SQLite](http://sqlitebrowser.org/) offers a simple graphical interface. It can export the data to .csv, which can then be easily imported into a spreadsheet.
- JSON files are no longer used for data storage. A script, `json_to_sqlite.py` is included to migrate old json data to the new sqlite database.
Deprecated
- Scripts to generate sample data and convert between .json and .xlsx are no longer needed, and will be removed in the next release:
- `excel_to_json.py`
- `json_to_excel.py`
- `gen_sample_data.py`
- `gen_user_data.py`
Removed
- Configuration options for validation
- `validate_users`: Users now must be registered in the database to be able to sign in.
- `user_id_length`: Length of user ids is no longer constrained or enforced.