Handles listing papers with documents without extension.

main
Olivier Mangin 6 years ago
parent 49e6c7d9c2
commit da70d3c381
No known key found for this signature in database
GPG Key ID: D72FEC1C3120A884

@ -67,8 +67,11 @@ def paper_oneliner(p, citekey_only=False):
bibdesc = bib_oneliner(p.bibdata) bibdesc = bib_oneliner(p.bibdata)
doc_str = '' doc_str = ''
if p.docpath is not None: if p.docpath is not None:
doc_str = color.dye_out(' [{}]'.format(os.path.splitext(p.docpath)[1][1:]), doc_extension = os.path.splitext(p.docpath)[1]
'tag') doc_str = color.dye_out(
' [{}]'.format(doc_extension[1:] if len(doc_extension) > 1
else 'NOEXT'),
'tag')
tags = '' if len(p.tags) == 0 else '| {}'.format( tags = '' if len(p.tags) == 0 else '| {}'.format(
','.join(color.dye_out(t, 'tag') for t in sorted(p.tags))) ','.join(color.dye_out(t, 'tag') for t in sorted(p.tags)))
return '[{citekey}] {descr}{doc} {tags}'.format( return '[{citekey}] {descr}{doc} {tags}'.format(

@ -1001,6 +1001,24 @@ class TestUsecase(DataCommandTestCase):
self.assertEqual(lines[1], 'Total papers: 4, 1 (25%) have a document attached') self.assertEqual(lines[1], 'Total papers: 4, 1 (25%) have a document attached')
self.assertEqual(lines[2], 'Total tags: 3, 2 (50%) of papers have at least one tag') self.assertEqual(lines[2], 'Total tags: 3, 2 (50%) of papers have at least one tag')
def test_add_no_extension(self):
# This tests checks that a paper which document has no
# extension does not raise issues when listing. This test might
# be removed if decided to prevent such documents. It would then need
# to be replaced by a check that this is prevented.
self.fs.add_real_file(os.path.join(self.rootpath, 'data', 'pagerank.pdf'),
target_path=os.path.join('data', 'no-ext'))
correct = ['Initializing pubs in /pubs\n',
'added to pubs:\n[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n'
'data/no-ext was copied to the pubs repository.\n',
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) [NOEXT] \n',
]
cmds = ['pubs init -p /pubs',
'pubs add -d data/no-ext data/pagerank.bib',
'pubs list',
]
self.assertEqual(correct, self.execute_cmds(cmds, capture_output=True))
@ddt.ddt @ddt.ddt
class TestCache(DataCommandTestCase): class TestCache(DataCommandTestCase):

Loading…
Cancel
Save