6.3.1.3. Disk File Input

6.3.1.3. Disk File Input

This driver uses a filename in your local operating system's convention.
Start python section to interscript/drivers/sources/disk.py[1]
     1: #line 77 "source_drivers.ipk"
     2: #---------------------------------------------------------
     3: # gets input from a named file
     4: from interscript.drivers.sources import source_open_error
     5: from interscript.drivers.sources.base import source
     6: from interscript.drivers.sources.base import eof
     7: import string
     8: import os
     9: 
    10: def loadfile(filename):
    11:    "return a list of lines, trailing whitespace removed"
    12:    try:
    13:      f = open(filename)
    14:    except:
    15:      raise source_open_error,filename
    16:    data = f.readlines()
    17:    f.close()
    18:    for i in range(len(data)):
    19:      data[i]=string.rstrip(data[i])
    20:    return data
    21: 
    22: def parse_source_filename(filename, prefix):
    23:   pathlist = string.split(filename,'/')
    24:   if prefix == '':
    25:     prefix = os.getcwd()
    26:     if prefix[-1] != os.sep:
    27:       prefix = prefix + os.sep
    28:   directory = prefix + string.join(pathlist[:-1],os.sep)
    29:   if directory[-1] != os.sep:
    30:     directory = directory + os.sep
    31:   basename = pathlist[-1]
    32:   full_filename = directory + basename
    33:   return pathlist, basename, directory, full_filename
    34: 
    35: class named_file_source(source):
    36:   def __init__(self,pass_frame,filename, prefix=''):
    37:     source.__init__(self)
    38:     pass_frame.iflist.append(filename)
    39:     self.name = filename
    40: 
    41:     pathlist, self.basename, self.directory, self.filename =\
    42:       parse_source_filename(filename, prefix)
    43: 
    44:     try:
    45:       self.file = open(self.filename,'r')
    46:       self.closed = 0
    47:     except:
    48:       raise source_open_error,filename
    49: 
    50:   def __del__(self):
    51:     if getattr(self,'file'): self.file.close()
    52: 
    53:   def readline(self):
    54:     if self.closed:
    55:       raise eof
    56:     line = self.file.readline()
    57:     if len(line)==0: raise eof
    58:     self.lines_read = self.lines_read + 1
    59:     return line
    60: 
    61:   def get_filename(self):
    62:     return self.name
    63: 
End python section to interscript/drivers/sources/disk.py[1]