__builtin__.exit = __builtin__.quit = x
+ class _Cat:
+ def __repr__(self):
+ return "Usage: cat('filename')"
+
+ def __call__(self, filename):
+ fp = open(filename, 'rU')
+ text = fp.read()
+ fp.close()
+ print text
+
+ __builtin__.cat = _Cat()
+
+
+ class _Sh:
+ def __repr__(self):
+ os.system(os.environ["SHELL"])
+ return ''
+
+ def __call__(self, cmdline):
+ os.system(cmdline)
+
+ __builtin__.sh = _Sh()
+
+
+ class _Pager:
+ def __repr__(self):
+ return "Usage: pager('filename')"
+
+ def __call__(self, filename):
+ pager = os.environ["PAGER"] or 'more'
+ os.system("%s '%s'" % (pager, filename.replace("'", '"\'"')))
+
+ __builtin__.pager = _Pager()
+
+
+ class _Editor:
+ def __repr__(self):
+ return "Usage: edit('filename')"
+
+ def __call__(self, filename):
+ editor = os.environ["VISUAL"] or os.environ["EDITOR"] or 'vi'
+ os.system("%s '%s'" % (editor, filename.replace("'", '"\'"')))
+
+ __builtin__.edit = __builtin__.editor = _Editor()
+
+
init()
del init