Skip to content

Commit 8fb754a

Browse files
author
Tymoteusz Jankowski
committed
Simplify if in find_pager
1 parent 128f60e commit 8fb754a

File tree

2 files changed

+12
-15
lines changed

2 files changed

+12
-15
lines changed

dvc/dagascii.py

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,22 @@
2828

2929

3030
def find_pager():
31+
def make_pager(cmd):
32+
def pager(text):
33+
return pydoc.tempfilepager(pydoc.plain(text), cmd)
34+
35+
pager.cmd = cmd
36+
return pager
37+
3138
if not sys.stdout.isatty():
3239
return pydoc.plainpager
3340

3441
env_pager = os.getenv(DVC_PAGER)
3542
if env_pager:
43+
return make_pager(env_pager)
3644

37-
def user_pager(text):
38-
return pydoc.tempfilepager(pydoc.plain(text), env_pager)
39-
40-
return user_pager
41-
else:
42-
if os.system("({}) 2>{}".format(DEFAULT_PAGER, os.devnull)) == 0:
43-
44-
def less_pager(text):
45-
return pydoc.tempfilepager(
46-
pydoc.plain(text), DEFAULT_PAGER_FORMATTED
47-
)
48-
49-
return less_pager
45+
if os.system("({}) 2>{}".format(DEFAULT_PAGER, os.devnull)) == 0:
46+
return make_pager(DEFAULT_PAGER_FORMATTED)
5047

5148
logger.warning(
5249
"Unable to find `less` in the PATH. Check out "

tests/unit/test_dagascii.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ def test_less_pager_returned_when_less_found():
1010
m.return_value = 0
1111
pager = dagascii.find_pager()
1212

13-
assert pager.__name__ == "less_pager"
13+
assert pager.cmd == dagascii.DEFAULT_PAGER_FORMATTED
1414

1515

1616
def test_plainpager_returned_when_less_missing():
@@ -25,4 +25,4 @@ def test_tempfilepager_returned_when_var_defined():
2525
os.environ[DVC_PAGER] = dagascii.DEFAULT_PAGER
2626
pager = dagascii.find_pager()
2727

28-
assert pager.__name__ == "user_pager"
28+
assert pager.cmd == dagascii.DEFAULT_PAGER

0 commit comments

Comments
 (0)