Python API for getharvest.com
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead, 5 commits behind lann:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
MANIFEST
README.rst
harvest.py
setup.py

README.rst

Harvest API

Example:

from datetime import datetime, timedelta
from harvest import Harvest

h = Harvest( 'https://foo.harvestapp.com', 'foo@bar.com', 'mypassword' )
user = h.find_user( 'John', 'Doe' )
if user:
        print 'The user ID = %d' % user.id

        start = datetime.today()
        end = start + timedelta(7)

        total = 0
        for entry in user.entries( start, end ):
                total += entry.hours

        print 'Total hours worked = %f' % total

Example:

import sys
from harvest import Harvest, HarvestError
from datetime import datetime, timedelta
import time

URI = 'https://foo.harvestapp.com'
EMAIL = 'foo@bar.com'
PASS = 'xxxxxx'

h = Harvest(URI,EMAIL,PASS)

while True:
        total = 0
        dose = 0

        start = datetime.today().replace( hour=0, minute=0, second=0 )
        end = start + timedelta(1)
        try:
                for user in h.users():
                        for entry in user.entries( start, end ):
                                total += entry.hours

                text = '%0.02f' % total
                print text

        except HarvestError:
                print 'Retrying in 5 minutes...'

        time.sleep(300)

Example:

for project in h.projects:
        print project
        print project.client
        for assignment in project.task_assignments:
                print '\t',assignment
        for entry in project.entries:
                print '\t',entry
                print '\t\ttask:',entry.task

Example:

for client in h.clients:
        print client
        for contact in client.contacts:
                print '\t',contact