def _output(self, projects, users=None): # formated output print '' print 'Projects:' found_users = [] zebra_url = self.secret.get_zebra('url') for name, entries in projects: print '- %s' % name total = 0 template = " {time:<12} {username:<23} {description:<45} ({url:<15})" for entry in entries: d = dict() d['time'] = str(entry.time) + ' hours' d['username'] = entry.username if entry.username not in found_users: found_users.append(entry.username) d['description'] = entry.description[:44] d['url'] = ZebraHelper.get_activity_url(zebra_url, entry.id) print template.format(**d) total += entry.time print ' Total: %s' % (total) print '' if users is not None: if len(users) == len(found_users): print '(found entries for all users)' else: print 'Found entries for %d out of %d users (%s)' % \ (len(found_users), len(users), ','.join(found_users))
def _output(self, projects, users=None): # formated output print '' print 'Projects:' found_users = [] zebra_url = self.secret.get_zebra('url') for name, entries in projects: print '- %s' % name total = 0 template = " {time:<12} {username:<23} {description:<45} ({url:<15})" for entry in entries: d = dict() d['time'] = str(entry.time) + ' hours' d['username'] = entry.username if entry.username not in found_users: found_users.append(entry.username) d['description'] = entry.description[:44] d['url'] = ZebraHelper.get_activity_url(zebra_url, entry.id) print template.format(**d) total += entry.time print ' Total: %s' % (total) print '' if users is not None: if len(users) == len(found_users): print '(found entries for all users)' else: print 'Found entries for %d out of %d users (%s)' % \ (len(found_users), len(users), ','.join(found_users))
def testGetActivityId(self): self.assertEquals('basepath/timesheet/123', ZebraHelper.get_activity_url('basepath', 123))
def testGetActivityId(self): self.assertEquals('basepath/timesheet/123', ZebraHelper.get_activity_url('basepath', 123))