8000 GitHub - christippett/timepro-timesheet: Scraper to programmatically get and submit timesheet data to Intertec TimePro (timesheets.com.au)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Jul 14, 2021. It is now read-only.

Scraper to programmatically get and submit timesheet data to Intertec TimePro (timesheets.com.au)

License

Notifications You must be signed in to change notification settings

christippett/timepro-timesheet

Repository files navigation

Intertec TimePro Utils

PyPI version Build status Coverage Python versions Github license

Description

Programmatically get and submit timesheet data to Intertec TimePro (timesheets.com.au)

NB: My company no longer uses timesheets.com.au as its timesheeting application, therefore its difficult to impossible for me to guarantee the future compatibility and maintenance of this application.

Installation

Install with pip:

pip install timepro-timesheet

Usage

Command line

GET data

Once installed, you can use the CLI to get your timesheet data as JSON.

$ timepro get -c CUST -u john.doe -p password123
  {
    "2018-08-04": [
      {
        "customer_code": "EXAMPLE",
        "customer_description": "Example Company Pty Ltd",
        "project_code": "EX-123",
        "project_psid": "EX-123{:}1",
        "project_description": "EXAMPLE - EX-123 - SOW000 - Important Business Stuff - PO 123",
        "task_id": null,
        "task_description": null,
        "hours": 8
      }
    ]
  }

You can filter the timesheet period by specifying dates for --start and --end, or by using the --this-week, --this-month, --last-week or --last-month flags. By default, the current week's timesheet entries are returned.

POST data

Data can be submitted by reading from a JSON file.

$ timepro post -c CUST -u john.doe -p password123 -f timesheet_entries.json

or

$ cat timesheet_entries.json | timepro post -c CUST -u john.doe -p password123

Python

from timepro_timesheet.api import TimesheetAPI

# Log into timesheets.com.au via the TimesheetAPI class
api = TimesheetAPI()
api.login(customer_id='CUST', username='john.doe', password='password123')

# Get timesheet (defaults to current month)
timesheet = api.get_timesheet()

# Get timesheet for a given date
timesheet = api.get_timesheet(start_date=date(2018, 6, 1), end_date=date(2018, 6, 25))

# Output timesheet
timesheet.json()
timesheet.row_entries()
timesheet.date_entries()

About

Scraper to programmatically get and submit timesheet data to Intertec TimePro (timesheets.com.au)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages

0