[Zope] Get file contents.
Steve Spicklemire
steve@spvi.com
Sun, 29 Oct 2000 17:56:41 -0500 (EST)
Hi Jason,
Here's an external method that I've used to populate a TinyTable
from a comma separated text file. You might at least get some ideas
about how to extract stuff from the file using this....
-steve
----------------------------------------------------------------------
#
# ReadFile is an external method that reads data from a file uploaded from
# the users computer and produces a TinyTable based on that data.
#
import string
def ReadFile(self,
infile, # input file.....
outTableName='defaultTable', # name of output table
outTableTitle='', # title of output table
outTableColumns='', # columns for output table
REQUEST=None, # Pass in REQUEST....
RESPONSE=None): # and response...
if not hasattr(self, outTableName):
self.manage_addTinyTable(id=outTableName, title=outTableTitle, columns=outTableColumns, REQUEST=REQUEST)
newTT = getattr(self, outTableName)
newTT.manage_edit(title = outTableTitle, columns = outTableColumns, REQUEST=REQUEST)
data = infile.read()
data = string.replace(data,'\r','\n')
data = string.replace(data,'\n\n','\n')
lines = string.split(data,'\n')
newLines = []
for i in range(len(lines)):
line = string.strip(lines[i])
if line:
sl = string.split(line,',')
sl = map(lambda x:'"%s"' % x, sl)
newLines.append(string.join(sl,','))
data = string.join(newLines, '\n')
return newTT.manage_editData( data, REQUEST )
def main():
class foo:
def manage_addTinyTable(self, *args, **kwargs):
pass
def manage_edit(self, *args, **kwargs):
pass
def manage_editData(self, data, REQUEST):
print "In manage_editDdata"
print data
import StringIO
f = StringIO.StringIO()
f.write('a,b,c,d\n')
f.write('d,e,f,g\n')
f.seek(0)
print f.read()
f.seek(0)
rf = foo()
rf.defaultTable = foo()
ReadFile(rf, f)
if __name__=='__main__':
main()
>>>>> "Jason" == Jason C Leach <jleach@mail.ocis.net> writes:
Jason> hi,
Jason> I pass a zope file object (just plane text) to an external
Jason> method. The file consists of a list of lines of text. I'd
Jason> like to extract those lines from the file and put 'em in a
Jason> list. Can anyone help with the extraction method?
Jason> Thanks, j.
Jason> ...................... ..... Jason C. Leach ... University
Jason> College of the Cariboo. ..
Jason> _______________________________________________ Zope
Jason> maillist - Zope@zope.org
Jason> http://lists.zope.org/mailman/listinfo/zope ** No cross
Jason> posts or HTML encoding! ** (Related lists -
Jason> http://lists.zope.org/mailman/listinfo/zope-announce
Jason> http://lists.zope.org/mailman/listinfo/zope-dev )