File: class/Workbook/Examples/Lecture10/unmore3.py

#!/usr/local/bin/python
# unpack result of "more x y z > f"
# usage: "unmore3.py -i f -v?" or "unmore3.py -v? < f"
# uses StreamApp class from "Programming Python" (append D)

from apptools import StreamApp 
marker = ':'*14 

class UnmoreApp(StreamApp):                # app subclass
    def run(self):                         # start/run/stop
        while 1:
            line = self.readline()
            if not line:                   # end of file?
                break
            elif line[:14] != marker:      # text line?
                self.write(line)
            else:                          # file prefix
                fname = self.readline()[:-1] 
                self.message('creating ' + `fname`)
                self.setOutput(fname)        
                if self.readline()[:14] != marker:
                    self.exit("OOPS!")

if __name__ == '__main__': UnmoreApp().main()    # make/run



[Home page] Books Code Blog Python Author Train Find ©M.Lutz