On 17 Nov 2003 at 14:07, Brian Sullivan wrote:
Where is this CSV.py module that you used ?(http://www.object-craft.com.au/projects/csv/ ?)
I also found this - http://python-dsv.sourceforge.net/ -- I don't know if it is better or not.
Oh I don't remember where it came from. # CSV 0.17 8 June 1999 Copyright ?Laurence Tratt 1998 - 1999 # e-mail: tratt@dcs.kcl.ac.uk # home-page: http://eh.org/~laurie/comp/python/csv/index.html # It doesn't really matter, it's just a module that takes either a file object or a path to a file and returns another object you can use to iterate rows as dict-like items.
Is the external method you created available somewhere?
No, since it's highly specific to the task.. Processing UPS WorldShip data. Perhaps the code from the Extension method would be helpful.. here it is. SQL_InsertEventLog is a PythonScript in Zope that's obtained through acquisition via self. In this example, I write the uploaded file data to a temporary file, then pass that temp file path to the "other module". The code is from 1.5.2, hence I don't use string methods in it. def UploadUPSExtract(self,REQUEST): """Upload UPS extract file from form""" f = REQUEST.form['ExtractFile'] fname = tempfile.mktemp() of = open(fname,'wb') of.write(f.read()) del of cnt, report = ProcessShipments.LoadUPSShipments(inputFile=fname,db=GetDB()) try: os.remove(fname) except: pass res = "Uploaded "+str(cnt)+" packages<br>\n" if report: res = res + '<b>The following errors were found:</b><br>' + string.join(string.split(report,'\n'),'<br>\n') try: note = 'Uploaded %d packages' % cnt if report: note = note + ' with %d errors' % len(string.split(report,'\n')) self.SQL_InsertEventLog(peopleid=REQUEST.xpeopleid,eventtype='UPS Upload',note=note) except: traceback.print_exc() print "self is ",repr(self) return res -- Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax http://www.wecanstopspam.org/ AOL-IM: BKClements