mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-09 23:10:24 +01:00
Simplify if in find_pager
This commit is contained in:
+10
-13
@@ -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 "
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user