[Zope] Get file contents.
Jason C. Leach
jleach@mail.ocis.net
Sun, 29 Oct 2000 17:56:31 -0800 (PST)
hi,
That's exactly what I'm hoping to do. But for my method, it does not know
what read() is, or read_raw(); I get:
Zope Error
Zope has encountered an error while publishing this resource.
Error Type: AttributeError
Error Value: read
If I try you method I get:
Zope Error
Zope has encountered an error while publishing this resource.
Error Type: AttributeError
Error Value: manage_addTinyTable
It would probably bail on the read also if it got that far.
Perhaps I am caling it wrong, or not pasing the correct object. I jest
pass in a Zope File opject, which hapens to be a few lines of text.
Thanks,
j.
......................
..... Jason C. Leach
... University College of the Cariboo.
..
On Sun, 29 Oct 2000, Steve Spicklemire wrote:
>
> 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 )
>
>