diff --git a/hamster-export b/hamster-export index 39bae6c..4589787 100755 --- a/hamster-export +++ b/hamster-export @@ -101,14 +101,19 @@ class Timesheet(object): if len(items) > 1: item.duration = sum(map(operator.attrgetter('duration'), items)) + + item.description = ', '.join(set( + filter(lambda i: i and i.strip() or '', + map(operator.attrgetter('description'), items)))) return item - key = operator.attrgetter('date', 'name', 'description') + key = operator.attrgetter('date', 'name') merged = [] for key, items in itertools.groupby(sorted(self.entries, key=key), key=key): merged.append(merge(list(items))) - self._entries = merged + # sort by date and duration + self._entries = sorted(merged, key=lambda i: (i.date, -i.duration)) def check_activities(self, activities): patterns = set(map(operator.attrgetter('name'), activities))