def main(): parser = argparse.ArgumentParser(description='Timelog - Report generator for gtimelog format') parser.add_argument('--month', help='Month of the report') parser.add_argument('--year', help='Year of the report') parser.add_argument('--tasks', help='With tasks or not, boolean', action='store_true', default=False) parser.add_argument('--generate-timelog', help='With a format */*/2013', default='*') parser.add_argument('--client', help='The client in case you want a client report', default=None) parser.add_argument('--html', help='Generate HTML page with the stats', action='store_true', default=False) arguments = parser.parse_args() timelog_report = TimelogReport(arguments) result = timelog_report.run() # TODO Or write it to a file print(result)
def test_dates_data(self): self.args['start_date'] = '20/4/2013' self.args['end_date'] = '28/4/2013' arguments = ArgParseMock(**self.args) timelog_report = TimelogReport(arguments) self.assertEqual('====== Day 24 =======' in timelog_report.run(), True)
def test_dates_tasks(self): self.args['start_date'] = '26/4/2013' self.args['end_date'] = '27/4/2013' self.args['tasks'] = True self.args['client'] = 'project1' arguments = ArgParseMock(**self.args) timelog_report = TimelogReport(arguments) self.assertEqual('* [X] Task completed' in timelog_report.run(), True)
def test_dates_price(self): self.args['start_date'] = '24/4/2013' self.args['end_date'] = '25/4/2013' self.args['price'] = True self.args['client'] = 'project1' arguments = ArgParseMock(**self.args) timelog_report = TimelogReport(arguments) self.assertEqual('Total amount: 180.00' in timelog_report.run(), True)
def test_dates_empty(self): arguments = ArgParseMock(**self.args) timelog_report = TimelogReport(arguments) self.assertEqual(timelog_report.run(), 'Error: No entries')