Skip to main content

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:
    1. git clone https://github.com/eliroca/azubi-timesheet.git; cd azubi-timesheet
    2. 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.
  • [x] Better separate the main script (azubi-timesheet.py) from a module (timesheet.py)
  • [x] Adding "special" days like: vacation, school; only date and comment needed for that
  • [x] Method to fill in records from json file to xlsx exported file
  • [x] Method to create file names like timesheet_2019_10.json timesheet_2019_10.xlsx and implement where needed
  • [x] 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 an xlsx 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for azubi-timesheet, version 0.9.1
Filename, size File type Python version Upload date Hashes
Filename, size azubi_timesheet-0.9.1-py3-none-any.whl (1.1 MB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size azubi-timesheet-0.9.1.tar.gz (1.1 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page