[Dayone] maintain existing tags stored in Dayone metadata

This commit is contained in:
MinchinWeb 2015-06-03 21:37:40 -06:00
parent 5a1a1e12fb
commit 50dfaf2f13

View file

@ -50,8 +50,7 @@ class DayOne(Journal.Journal):
date = date + timezone.utcoffset(date, is_dst=False)
entry = Entry.Entry(self, date, text=dict_entry['Entry Text'], starred=dict_entry["Starred"])
entry.uuid = dict_entry["UUID"]
entry._tags = [self.config['tagsymbols'][0] + tag.lower() for tag in dict_entry.get("Tags", [])]
entry._tags = [self.config['tagsymbols'][0] + tag.lower().replace(" ", "_") for tag in dict_entry.get("Tags", [])]
self.entries.append(entry)
self.sort()
return self
@ -126,11 +125,14 @@ class DayOne(Journal.Journal):
# Now, update our current entries if they changed
for entry in entries:
# tags in entry body
entry._parse_text()
matched_entries = [e for e in self.entries if e.uuid.lower() == entry.uuid]
matched_entries = [e for e in self.entries if e.uuid.lower() == entry.uuid.lower()]
if matched_entries:
# This entry is an existing entry
match = matched_entries[0]
# merge existing tags with tags pulled from the entry body
entry.tags = list(set(entry.tags + match.tags))
if match != entry:
self.entries.remove(match)
entry.modified = True