diff --git a/papers/files.py b/papers/files.py index 8be8a5d..8a0867f 100644 --- a/papers/files.py +++ b/papers/files.py @@ -108,7 +108,10 @@ def save_bibdata(bib_data, filepath): def save_meta(meta_data, filepath): - write_yamlfile(filepath, meta_data) + new_meta = meta_data.copy() + # Cannot store sets in yaml + new_meta['tags'] = list(new_meta['tags']) + write_yamlfile(filepath, new_meta) # is this function ever used? 08/06/2013 diff --git a/papers/paper.py b/papers/paper.py index d0405a5..96577bd 100644 --- a/papers/paper.py +++ b/papers/paper.py @@ -20,7 +20,7 @@ CITEKEY_EXCLUDE_RE = re.compile('[%s]' BASE_META = { 'external-document': None, - 'tags': [], + 'tags': set(), 'notes': [], } diff --git a/tests/fixtures.py b/tests/fixtures.py index fb56d44..86bc7b6 100644 --- a/tests/fixtures.py +++ b/tests/fixtures.py @@ -8,6 +8,7 @@ turing1950.bibentry.fields['title'] = u'Computing machinery and intelligence.' turing1950.bibentry.fields['year'] = u'1950' turing1950.bibentry.persons['author'] = [Person(u'Alan Turing')] turing1950.citekey = turing1950.generate_citekey() +turing1950.tags = ['computer', 'AI'] doe2013 = Paper() diff --git a/tests/test_paper.py b/tests/test_paper.py index 43b37c6..c2c8446 100644 --- a/tests/test_paper.py +++ b/tests/test_paper.py @@ -24,7 +24,7 @@ entries: META = """ external-document: null notes: [] -tags: [] +tags: ['AI', 'computer'] """