Handles listing papers with documents without extension.
This commit is contained in:
parent
49e6c7d9c2
commit
da70d3c381
@ -67,8 +67,11 @@ def paper_oneliner(p, citekey_only=False):
|
||||
bibdesc = bib_oneliner(p.bibdata)
|
||||
doc_str = ''
|
||||
if p.docpath is not None:
|
||||
doc_str = color.dye_out(' [{}]'.format(os.path.splitext(p.docpath)[1][1:]),
|
||||
'tag')
|
||||
doc_extension = os.path.splitext(p.docpath)[1]
|
||||
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(
|
||||
','.join(color.dye_out(t, 'tag') for t in sorted(p.tags)))
|
||||
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[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
|
||||
class TestCache(DataCommandTestCase):
|
||||
|
Loading…
x
Reference in New Issue
Block a user