Now, if you're uploading files to Zope, rather than the file system, it's a little different, in that you have to get the data from an object, and you'll probably have to split it by newline yourself.
John Poltorak wrote:
This is the way I had been thinking of setting it up, but can't find an example of opening and reading such an object.
Here's a "Script (Python)" and a ZPT that does what I think you want. Notes: - I called the script "parse_file" so if you rename/relocate it fix the line in the ZPT to correspond. - I used a "File" in the same folder named "urls" hence I used "file=context.urls" - the CLONE thing is a bit confusing, but I needed it for my uses. Cheers. ---------------- CUT HERE ------------------------ ## Script (Python) "parse_file" ##bind container=container ##bind context=context ##bind namespace= ##bind script=script ##bind subpath=traverse_subpath ##parameters=file, sepr='', clone=False ##title= ## # Returns a list of the lines of FILE; if SEPR if given the lines # are split into lists. # Get the "file" as a single string filetext = str( file ) # Start with nothing: alist = [] # Throw away CR (if any) then split at the NLs: for line in filetext.replace('\r','').split('\n'): if line == "": continue # # Handle one-element-per-line differently: # if sepr and sepr in line: alist.append(line.split(sepr)) elif clone and sepr: alist.append([line,line]) else: alist.append(line) return alist ---------------- CUT HERE ------------------------ <html> <head> <title tal:content="template/title">The title</title> </head> <body> <h2><span tal:replace="here/title_or_id">content title or id</span> <span tal:condition="template/title" tal:replace="template/title">optional template title</span></h2> This is Page Template <em tal:content="template/id">template id</em>. <form name="aForm" method=GET action="/blah/blah"> <span tal:define="opts python:here.parse_file(file=context.urls,sepr=',',clone=1)"> <select name="url"> <tal:block repeat="opt opts"> <option value="optval" tal:content="python:opt[1]" tal:attributes="value python:opt[0]"> Option Text</option> </tal:block> <input type=submit> </select> </span> </form> </body> </html> ---------------------- CUT HERE ------------------------ http://www.google.com/,Google http://www.yahoo.com/,Yahoo! http://www.zope.org/ ---------------------- CUT HERE ------------------------