Keep track of your work hours. Add, delete, update records. Export and print at the end of the month!
Project description
SUSE Apprentices Timesheets made easy
Installation
- If you just want to start right away:
pip install azubi-timesheet
- Development mode:
git clone https://github.com/eliroca/azubi-timesheet.git; cd azubi-timesheet
pip install -e .
Contributions are welcome
- Subcommand
export
should accept date without day, like this-d 10.2019
- Possibility to add more days with one command for vacation, etc.
- Raise exceptions in
timesheet.py
and catch them in main, instead of exiting the program - Reformat code with black: https://pypi.org/project/black
- Implement working hours carryover(Stundenübertrag)
- Update: early implementation does the job, but it can't extract the value from previous month unless: you exported the previous month already AND opened the previous xlsx file AND Ctrl+S to save it, so that the calculated values of all formulas are saved. Not quite ideal.
- Better separate the main script (azubi-timesheet.py) from a module (timesheet.py)
- Adding "special" days like: vacation, school; only date and comment needed for that
- Method to fill in records from json file to xlsx exported file
- Method to create file names like
timesheet_2019_10.json
timesheet_2019_10.xlsx
and implement where needed - Method to load specific json files of the given date's month and year
How it looks like
Main help message
azubi-timesheet --help
usage: azubi-timesheet [-V] [-n] <SUBCOMMAND> ...
Keep track of your work hours. Add, delete, update records. Export and print
at the end of the month!
global arguments:
-V, --version show program's version number and exit
-n, --non-interactive
do not ask anything, use default answers automatically
available subcommands:
<SUBCOMMAND>
add add a new record
update update an existing record
delete delete an existing record
export export records as .xlsx file
config configure the app with key=value pairs
Type <SUBCOMMAND> --help for more info.
Subcommand help message
azubi-timesheet add --help
usage: azubi-timesheet add [-d DD.MM.YYYY] [-w HH:MM-HH:MM] [-b HH:MM-HH:MM]
[-c COMMENT] [-s]
Add a new record.
optional arguments:
-d DD.MM.YYYY, --date DD.MM.YYYY
date of the record
-w HH:MM-HH:MM, --work-hours HH:MM-HH:MM
begin and end time of the work day
-b HH:MM-HH:MM, --break-time HH:MM-HH:MM
begin and end time of the break
-c COMMENT, --comment COMMENT
comment of the record, if needed
-s, --special-record special records only need a date and a comment
Subcommands
add
creates a new json string and appends it to the list
azubi-timesheet.py add --date 07.10.2019 --work-hours 09:00-17:30 --break-time 12:00-12:30
add -s
adds special records like school, vacation, sick leave, where--work-hours
or--break_time
are not necessary
azubi-timesheet.py --non-interactive add --date 09.10.2019 --comment "Berufsschule" --special-record
update
finds record, updates it with the given data
azubi-timesheet.py update --date 07.10.2019 --work-hours 10:00-18:30 --break-time 13:00-13:30
delete
removes record with given date
azubi-timesheet.py delete --date 07.10.2019
export
creates anxlsx
document from the given date's month and year; day is not relevant but unfortunately still necessary
azubi-timesheet.py export --date 01.12.2019
config
lets you enter your name, choose where to save your records and exported documents
azubi-timesheet.py config --set "name=Elisei Roca"
azubi-timesheet.py config --list
[DEFAULT]
name =
records_dir = /home/eroca/.local/lib/python3.6/site-packages/azubi_timesheet-0.9.0-py3.6.egg/azubi_timesheet/data/records
exports_dir = /home/eroca/.local/lib/python3.6/site-packages/azubi_timesheet-0.9.0-py3.6.egg/azubi_timesheet/data/exports
[user_defined]
name = Elisei Roca
exports_dir = /home/eroca/Documents/SUSE_Timesheets
records_dir =
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
azubi-timesheet-0.9.1.tar.gz
(1.1 MB
view details)
Built Distribution
File details
Details for the file azubi-timesheet-0.9.1.tar.gz
.
File metadata
- Download URL: azubi-timesheet-0.9.1.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73af908f4cf77c809733979b288b983170958338d59c7618724f9d34cd0661df |
|
MD5 | a4bf8cc4dfb3037507407da5e1dddb58 |
|
BLAKE2b-256 | 4f576f3e4b5152566ea94f175c907cd3672c5bb22537e98cad6cfcfda013d342 |
File details
Details for the file azubi_timesheet-0.9.1-py3-none-any.whl
.
File metadata
- Download URL: azubi_timesheet-0.9.1-py3-none-any.whl
- Upload date:
- Size: 1.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9be75f00efa73eb24521d28c1559f99bfbf24517f787b9b40a0c83e66895d242 |
|
MD5 | e28ac36d5dbabb17b65a5345ed5a929c |
|
BLAKE2b-256 | 8baf68a2b80bad767e3183171a0650db3b74f0a153d893118b4b22f05f9e87a7 |