Esempio n. 1
0
 def test_in_range(self):
     range_ = dr._get_month_range(2015, 3)
     self.assertTrue(dr.in_range(date(2015, 3, 1), range_))
     self.assertTrue(dr.in_range(date(2015, 3, 15), range_))
     self.assertTrue(dr.in_range(date(2015, 3, 31), range_))
     self.assertFalse(dr.in_range(date(2014, 3, 15), range_))
     self.assertFalse(dr.in_range(date(2015, 2, 28), range_))
     self.assertFalse(dr.in_range(date(2015, 4, 1), range_))
rate = None
if args.hourly_rate:
    rate = args.hourly_rate

charts = args.charts

for w in lst:
    prj = w['project']

    if prj == 'CLEARED':
        if uncleared:
            hours = {}
            invoice.projects = []
        continue

    if (not date_range or in_range(w['date'], date_range)) and \
       (not project or project.lower() == prj.lower()):
        h = float(w['hours'])

        if prj in hours:
            h += hours[prj]
        hours[prj] = h

if rnd:
    for key, value in hours.items():
        hours[key] = math.ceil(value)

for proj, h in hours.items():
    p = Project(proj)
    if rate is None:
        c_rate = project_or_default_settings(proj, 'rate')