{ "info": { "author": "Chris Tippett", "author_email": "c.tippett@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "Intertec TimePro Utils\n=============================================================\n\n[![PyPI version](https://img.shields.io/pypi/v/timepro-timesheet.svg)](https://pypi.python.org/pypi/timepro-timesheet)\n[![Build status](https://img.shields.io/travis/christippett/timepro-timesheet.svg)](https://travis-ci.org/christippett/timepro-timesheet)\n[![Coverage](https://img.shields.io/coveralls/github/christippett/timepro-timesheet.svg)](https://coveralls.io/github/christippett/timepro-timesheet?branch=master)\n[![Python versions](https://img.shields.io/pypi/pyversions/timepro-timesheet.svg)](https://pypi.python.org/pypi/timepro-timesheet)\n[![Github license](https://img.shields.io/github/license/christippett/timepro-timesheet.svg)](https://github.com/christippett/timepro-timesheet)\n\nDescription\n===========\n\nProgrammatically get and submit timesheet data to Intertec TimePro (timesheets.com.au)\n\n\nInstallation\n============\n\nInstall with `pip`:\n\n``` bash\npip install timepro-timesheet\n```\n\nUsage\n=====\n\nCommand line\n------------\n\n**GET data**\n\nOnce installed, you can use the CLI to get your timesheet data as JSON.\n\n``` bash\n$ timepro get -c CUST -u john.doe -p password123\n {\n \"2018-08-04\": [\n {\n \"customer_code\": \"EXAMPLE\",\n \"customer_description\": \"Example Company Pty Ltd\",\n \"project_code\": \"EX-123\",\n \"project_psid\": \"EX-123{:}1\",\n \"project_description\": \"EXAMPLE - EX-123 - SOW000 - Important Business Stuff - PO 123\",\n \"task_id\": null,\n \"task_description\": null,\n \"hours\": 8\n }\n ]\n }\n```\n\nYou 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.\n\n**POST data**\n\nData can be submitted by reading from a JSON file.\n\n``` bash\n$ timepro post -c CUST -u john.doe -p password123 -f timesheet_entries.json\n```\n\nor\n\n``` bash\n$ cat timesheet_entries.json | timepro post -c CUST -u john.doe -p password123\n```\n\nPython\n------\n\n``` python\nfrom timepro_timesheet.api import TimesheetAPI\n\n# Log into timesheets.com.au via the TimesheetAPI class\napi = TimesheetAPI()\napi.login(customer_id='CUST', username='john.doe', password='password123')\n\n# Get timesheet (defaults to current month)\ntimesheet = api.get_timesheet()\n\n# Get timesheet for a given date\ntimesheet = api.get_timesheet(start_date=date(2018, 6, 1), end_date=date(2018, 6, 25))\n\n# Output timesheet\ntimesheet.json()\ntimesheet.row_entries()\ntimesheet.date_entries()\n\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/christippett/timepro-timesheet", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "timepro-timesheet", "package_url": "https://pypi.org/project/timepro-timesheet/", "platform": "", "project_url": "https://pypi.org/project/timepro-timesheet/", "project_urls": { "Homepage": "http://github.com/christippett/timepro-timesheet" }, "release_url": "https://pypi.org/project/timepro-timesheet/19.2.1/", "requires_dist": [ "requests", "requests-html", "python-dateutil" ], "requires_python": "", "summary": "Utility for programmatically getting and submitting data to Intertec TimePro (timesheets.com.au)", "version": "19.2.1" }, "last_serial": 4805995, "releases": { "18.8.0": [ { "comment_text": "", "digests": { "md5": "53469ebfff9be27e490636863bf3f8ec", "sha256": "699fcbb654ce2ca387a6adf0c6c44bc3e7c14705236026cc771cc32f2da38fec" }, "downloads": -1, "filename": "timepro-timesheet-18.8.0.tar.gz", "has_sig": false, "md5_digest": "53469ebfff9be27e490636863bf3f8ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12357, "upload_time": "2018-08-04T05:39:10", "url": "https://files.pythonhosted.org/packages/06/f6/4b8f233246697ef7b687e5c9787c2ba1255c52bc0bffc6f2ca60208ef8ac/timepro-timesheet-18.8.0.tar.gz" } ], "18.8.1": [ { "comment_text": "", "digests": { "md5": "16d2c1ae36f40233ef3ca89762a5b458", "sha256": "dd26eeefed4ac8ef92385680672329a8be44d0eea087a081823e4c3641008b51" }, "downloads": -1, "filename": "timepro-timesheet-18.8.1.tar.gz", "has_sig": false, "md5_digest": "16d2c1ae36f40233ef3ca89762a5b458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12376, "upload_time": "2018-08-05T01:13:05", "url": "https://files.pythonhosted.org/packages/e0/3b/04fb64f93c4202daa86cdfc37b3e849d4d7990f31aedfb395f835dc15e7d/timepro-timesheet-18.8.1.tar.gz" } ], "19.2.1": [ { "comment_text": "", "digests": { "md5": "4e3729d5ae174173608cff1cf173c0aa", "sha256": "5593a1ba284b2aaadb71980d9c9d5782224d46072d13eceb792445d9aa05be7e" }, "downloads": -1, "filename": "timepro_timesheet-19.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4e3729d5ae174173608cff1cf173c0aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11598, "upload_time": "2019-02-11T13:20:16", "url": "https://files.pythonhosted.org/packages/15/ff/4ad31be79081643802bb3f20d8f87515aeead40e4d832f8f49c5a847b423/timepro_timesheet-19.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5751658ac6a77144d6f94d73210ef528", "sha256": "9ff6b4533d2bfece7e2df35524df9b5ea9544c541f7a14e9732202f16ff60838" }, "downloads": -1, "filename": "timepro-timesheet-19.2.1.tar.gz", "has_sig": false, "md5_digest": "5751658ac6a77144d6f94d73210ef528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11492, "upload_time": "2019-02-11T13:20:17", "url": "https://files.pythonhosted.org/packages/35/74/93082f072bbb2b11233dbfb8765df67bb82b2ea5a26dc25beb57928f09c6/timepro-timesheet-19.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4e3729d5ae174173608cff1cf173c0aa", "sha256": "5593a1ba284b2aaadb71980d9c9d5782224d46072d13eceb792445d9aa05be7e" }, "downloads": -1, "filename": "timepro_timesheet-19.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4e3729d5ae174173608cff1cf173c0aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11598, "upload_time": "2019-02-11T13:20:16", "url": "https://files.pythonhosted.org/packages/15/ff/4ad31be79081643802bb3f20d8f87515aeead40e4d832f8f49c5a847b423/timepro_timesheet-19.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5751658ac6a77144d6f94d73210ef528", "sha256": "9ff6b4533d2bfece7e2df35524df9b5ea9544c541f7a14e9732202f16ff60838" }, "downloads": -1, "filename": "timepro-timesheet-19.2.1.tar.gz", "has_sig": false, "md5_digest": "5751658ac6a77144d6f94d73210ef528", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11492, "upload_time": "2019-02-11T13:20:17", "url": "https://files.pythonhosted.org/packages/35/74/93082f072bbb2b11233dbfb8765df67bb82b2ea5a26dc25beb57928f09c6/timepro-timesheet-19.2.1.tar.gz" } ] }