Merge pull request #168 from pubs/feat/doc_in_list
doc extension visible in pubs list
This commit is contained in:
commit
ac327d0c44
@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
### Implemented enhancements
|
### Implemented enhancements
|
||||||
|
|
||||||
|
- [(#45)](https://github.com/pubs/pubs/issues/45) Doc extension visible in pubs list ([#168](https://github.com/pubs/pubs/pull/168))
|
||||||
|
|
||||||
|
|
||||||
### Fixed bugs
|
### Fixed bugs
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from . import color
|
from . import color
|
||||||
@ -64,8 +65,15 @@ def paper_oneliner(p, citekey_only=False):
|
|||||||
return p.citekey
|
return p.citekey
|
||||||
else:
|
else:
|
||||||
bibdesc = bib_oneliner(p.bibdata)
|
bibdesc = bib_oneliner(p.bibdata)
|
||||||
|
doc_str = ''
|
||||||
|
if p.docpath is not None:
|
||||||
|
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(
|
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} {tags}'.format(
|
return '[{citekey}] {descr}{doc} {tags}'.format(
|
||||||
citekey=color.dye_out(p.citekey, 'citekey'),
|
citekey=color.dye_out(p.citekey, 'citekey'),
|
||||||
descr=bibdesc, tags=tags)
|
descr=bibdesc, tags=tags, doc=doc_str)
|
||||||
|
@ -669,12 +669,12 @@ class TestUsecase(DataCommandTestCase):
|
|||||||
correct = ['Initializing pubs in /paper_first\n',
|
correct = ['Initializing pubs in /paper_first\n',
|
||||||
'added to pubs:\n[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n'
|
'added to pubs:\n[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n'
|
||||||
'data/pagerank.pdf was copied to the pubs repository.\n',
|
'data/pagerank.pdf was copied to the pubs repository.\n',
|
||||||
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n',
|
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) [pdf] \n',
|
||||||
'\n',
|
'\n',
|
||||||
'',
|
'',
|
||||||
'network search\n',
|
'network search\n',
|
||||||
'info: Assuming search to be a tag.\n'
|
'info: Assuming search to be a tag.\n'
|
||||||
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) | network,search\n',
|
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) [pdf] | network,search\n',
|
||||||
]
|
]
|
||||||
|
|
||||||
cmds = ['pubs init -p /paper_first',
|
cmds = ['pubs init -p /paper_first',
|
||||||
@ -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…
x
Reference in New Issue
Block a user