FIX bug in color when color not activated.
_nodye does not support being called with arg instead of kwarg. Also improves pretty print and adds related tests.
This commit is contained in:
parent
3e8b780e84
commit
b71b602a50
@ -29,7 +29,7 @@ def dye(s, color=end, bold=False):
|
|||||||
return color + s + end
|
return color + s + end
|
||||||
|
|
||||||
_dye = dye
|
_dye = dye
|
||||||
def _nodye(s, **kwargs):
|
def _nodye(s, *args, **kwargs):
|
||||||
return s
|
return s
|
||||||
|
|
||||||
def setup(enable = True):
|
def setup(enable = True):
|
||||||
@ -44,4 +44,4 @@ undye_re = re.compile('\x1b\[[;\d]*[A-Za-z]')
|
|||||||
|
|
||||||
def undye(s):
|
def undye(s):
|
||||||
"""Purge string s of color"""
|
"""Purge string s of color"""
|
||||||
return undye_re.sub('', s)
|
return undye_re.sub('', s)
|
||||||
|
@ -27,15 +27,15 @@ def bib_oneliner(bibentry):
|
|||||||
authors = short_authors(bibentry)
|
authors = short_authors(bibentry)
|
||||||
journal = ''
|
journal = ''
|
||||||
if 'journal' in bibentry:
|
if 'journal' in bibentry:
|
||||||
journal = bibentry['journal']['name']
|
journal = ' ' + bibentry['journal']['name']
|
||||||
elif bibentry['type'] == 'inproceedings':
|
elif bibentry['type'] == 'inproceedings':
|
||||||
journal = bibentry.get('booktitle', '')
|
journal = ' ' + bibentry.get('booktitle', '')
|
||||||
|
|
||||||
return u'{authors} \"{title}\" {journal} {year}'.format(
|
return u'{authors} \"{title}\"{journal}{year}'.format(
|
||||||
authors=color.dye(authors, color.cyan),
|
authors=color.dye(authors, color.cyan),
|
||||||
title=bibentry['title'],
|
title=bibentry['title'],
|
||||||
journal=color.dye(journal, color.yellow),
|
journal=color.dye(journal, color.yellow),
|
||||||
year='({})'.format(bibentry['year']) if 'year' in bibentry else '',
|
year=' ({})'.format(bibentry['year']) if 'year' in bibentry else '',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,17 +5,28 @@ import os
|
|||||||
import dotdot
|
import dotdot
|
||||||
import fake_env
|
import fake_env
|
||||||
|
|
||||||
from pubs import endecoder, pretty
|
from pubs import endecoder, pretty, color
|
||||||
|
|
||||||
from str_fixtures import bibtex_raw0
|
from str_fixtures import bibtex_raw0
|
||||||
|
|
||||||
|
|
||||||
class TestPretty(unittest.TestCase):
|
class TestPretty(unittest.TestCase):
|
||||||
|
|
||||||
def test_oneliner(self):
|
def setUp(self):
|
||||||
|
color.setup(enable=False)
|
||||||
|
|
||||||
|
def test_oneliner(self):
|
||||||
decoder = endecoder.EnDecoder()
|
decoder = endecoder.EnDecoder()
|
||||||
bibdata = decoder.decode_bibdata(bibtex_raw0)
|
bibdata = decoder.decode_bibdata(bibtex_raw0)
|
||||||
pretty.bib_oneliner(bibdata['Page99'])
|
line = u'Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999)'
|
||||||
|
self.assertEqual(pretty.bib_oneliner(bibdata['Page99']), line)
|
||||||
|
|
||||||
|
def test_oneliner_no_year(self):
|
||||||
|
decoder = endecoder.EnDecoder()
|
||||||
|
bibdata = decoder.decode_bibdata(bibtex_raw0)
|
||||||
|
bibdata['Page99'].pop('year')
|
||||||
|
line = u'Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web."'
|
||||||
|
self.assertEqual(pretty.bib_oneliner(bibdata['Page99']), line)
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
@ -181,11 +181,11 @@ class TestUsecase(DataCommandTestCase):
|
|||||||
def test_first(self):
|
def test_first(self):
|
||||||
correct = ['Initializing pubs in /paper_first.\n',
|
correct = ['Initializing pubs in /paper_first.\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) \n',
|
||||||
'',
|
'',
|
||||||
'',
|
'',
|
||||||
'search network\n',
|
'search network\n',
|
||||||
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) search network\n'
|
'[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) search network\n'
|
||||||
]
|
]
|
||||||
|
|
||||||
cmds = ['pubs init -p paper_first/',
|
cmds = ['pubs init -p paper_first/',
|
||||||
@ -246,7 +246,7 @@ class TestUsecase(DataCommandTestCase):
|
|||||||
bib2 = re.sub('Lawrence Page', 'Lawrence Ridge', bib1)
|
bib2 = re.sub('Lawrence Page', 'Lawrence Ridge', bib1)
|
||||||
bib3 = re.sub('Page99', 'Ridge07', bib2)
|
bib3 = re.sub('Page99', 'Ridge07', bib2)
|
||||||
|
|
||||||
line = '[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n'
|
line = '[Page99] Page, Lawrence et al. "The PageRank Citation Ranking: Bringing Order to the Web." (1999) \n'
|
||||||
line1 = re.sub('1999', '2007', line)
|
line1 = re.sub('1999', '2007', line)
|
||||||
line2 = re.sub('Page,', 'Ridge,', line1)
|
line2 = re.sub('Page,', 'Ridge,', line1)
|
||||||
line3 = re.sub('Page99', 'Ridge07', line2)
|
line3 = re.sub('Page99', 'Ridge07', line2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user