diff options
author | Calvin Morrison <mutantturkey@gmail.com> | 2013-07-22 19:29:38 -0400 |
---|---|---|
committer | Calvin Morrison <mutantturkey@gmail.com> | 2013-07-22 19:29:38 -0400 |
commit | e4ecc40711e80ddfa14ea1ffb2704a46bb8acdd4 (patch) | |
tree | 3afb2a921afe8c73554dc99c3245d2326b1ada45 /rtsed.py | |
parent | 6bb50e1ce5972fb71bbe5c3e6cf3bc897547cc37 (diff) |
throw an exception for argv[1] and give it a shebang as well as generalize the sed call
Diffstat (limited to 'rtsed.py')
-rw-r--r-- | rtsed.py | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/rtsed.py b/rtsed.py deleted file mode 100644 index af17b2b..0000000 --- a/rtsed.py +++ /dev/null @@ -1,76 +0,0 @@ -import curses -import os -import sys -import StringIO - -from subprocess import * -import subprocess - -# our screen -screen = curses.initscr() -curses.noecho() -curses.cbreak() -curses.curs_set(0) -curses.start_color() - -curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_CYAN) -curses.init_pair(2, curses.COLOR_WHITE, curses.COLOR_RED) - -# our stdin input -input_buffer = "" - -# rows and columns of our screen -cols = int(subprocess.check_output(["tput", "cols"])) -rows = int(subprocess.check_output(["tput", "lines"])) - -def call_sed(string): - process = Popen(["sed", "-e", string], stdout=PIPE, stdin=PIPE, stderr=PIPE) - ret = process.communicate(input_buffer) - if(process.returncode is not 0): - screen.addstr(ret[1][:-1].ljust(cols), curses.color_pair(2)); - else: - screen.addstr(ret[0]); - return - - -def main(): - - input_string = "" - global input_buffer - - for line in open(sys.argv[1], "r"): - input_buffer = input_buffer + line - - # init our screen - screen.addstr("".ljust(cols), curses.color_pair(1)); - screen.addstr(input_buffer) - screen.addstr("EOF") - - try: - while 1: - key = screen.getch() - screen.clear() - if(key > 256): - continue; - if(key == 127): - input_string = input_string[:-1] - screen.addstr(input_string.ljust(cols), curses.color_pair(1)); - screen.addstr(input_buffer) - screen.addstr("EOF") - continue; - elif(key == 13 or key == 10): - screen.addstr(input_string.ljust(cols), curses.color_pair(1)); - call_sed(input_string) - screen.addstr("EOF") - continue; - else: - input_string+=chr(key) - screen.addstr(input_string.ljust(cols), curses.color_pair(1)); - screen.addstr(input_buffer) - screen.addstr("EOF") - finally: - curses.endwin() - -if __name__ == "__main__": - sys.exit(main()) - |