+ from traceback import format_exception, print_exc
+
+ pager = os.environ.get("PAGER") or 'more'
+
+ # if your pager is 'less', options '-F' and '-R' must be passed to it,
+ # and option '-X' is very much recommended
+ if pager == 'less':
+ less = os.environ.get("LESS") or ''
+ for opt in 'X', 'R', 'F':
+ if opt not in less:
+ less = opt + less
+ os.environ["LESS"] = less
+
+ class BasePager:
+ def write(self, value):
+ self.stdout.write(value)
+
+ if _term_found:
+ def pprint(self, value):
+ pprint(value,
+ stream=ColoredFile(self.stdout,
+ '\033[1;3%sm' % stdout_color))
+
+ def close(self):
+ self.stdout.close()
+