--- a/TimeTracker/TimeTracker.py Sat Oct 20 12:49:34 2012 +0200 +++ b/TimeTracker/TimeTracker.py Sat Oct 20 20:01:33 2012 +0200 @@ -119,13 +119,22 @@ """ %n invalid entries. These have been discarded.""", "", invalidCount).format(self.__trackerFilePath)) - def saveTrackerEntries(self): + def saveTrackerEntries(self, filePath="", ids=[]): """ Public slot to save the tracker entries to a file. + + @keyparam filePath path and name of the file to write the entries to (string) + @keyparam ids list of entry IDs to be written (list of integer) """ + if not filePath: + filePath = self.__trackerFilePath + if ids: + entriesList = [self.__entries[eid] for eid in ids if eid in self.__entries] + else: + entriesList = self.__entries.values() try: - f = open(self.__trackerFilePath, "w", encoding="utf-8") - for entry in self.__entries.values(): + f = open(filePath, "w", encoding="utf-8") + for entry in entriesList: if entry.isValid(): f.write(entry.toString() + "\n") f.close()