Simplify if in find_pager

This commit is contained in:
Tymoteusz Jankowski
2019-12-06 20:42:10 +01:00
parent 128f60ef68
commit 8fb754a4f4
2 changed files with 12 additions and 15 deletions
+10 -13
View File
@@ -28,25 +28,22 @@ DEFAULT_PAGER_FORMATTED = "{} --chop-long-lines --clear-screen".format(
def find_pager():
def make_pager(cmd):
def pager(text):
return pydoc.tempfilepager(pydoc.plain(text), cmd)
pager.cmd = cmd
return pager
if not sys.stdout.isatty():
return pydoc.plainpager
env_pager = os.getenv(DVC_PAGER)
if env_pager:
return make_pager(env_pager)
def user_pager(text):
return pydoc.tempfilepager(pydoc.plain(text), env_pager)
return user_pager
else:
if os.system("({}) 2>{}".format(DEFAULT_PAGER, os.devnull)) == 0:
def less_pager(text):
return pydoc.tempfilepager(
pydoc.plain(text), DEFAULT_PAGER_FORMATTED
)
return less_pager
if os.system("({}) 2>{}".format(DEFAULT_PAGER, os.devnull)) == 0:
return make_pager(DEFAULT_PAGER_FORMATTED)
logger.warning(
"Unable to find `less` in the PATH. Check out "
+2 -2
View File
@@ -10,7 +10,7 @@ def test_less_pager_returned_when_less_found():
m.return_value = 0
pager = dagascii.find_pager()
assert pager.__name__ == "less_pager"
assert pager.cmd == dagascii.DEFAULT_PAGER_FORMATTED
def test_plainpager_returned_when_less_missing():
@@ -25,4 +25,4 @@ def test_tempfilepager_returned_when_var_defined():
os.environ[DVC_PAGER] = dagascii.DEFAULT_PAGER
pager = dagascii.find_pager()
assert pager.__name__ == "user_pager"
assert pager.cmd == dagascii.DEFAULT_PAGER