I have to disagree, unless we're talking about something different... this
was definitely standard behavior until recently.
I have two older web2py versions which both return a stream. I'm talking
about the retrieve method in dal.py, maybe you mean something different?
web2py 1.99.2:
# ## if file is on filesystem
if path:
pass
elif self.uploadfolder:
path = self.uploadfolder
else:
path = os.path.join(self.db._adapter.folder, '..', 'uploads'
)
if self.uploadseparate:
t = m.group('table')
f = m.group('field')
u = m.group('uuidkey')
path = os.path.join(path,"%s.%s" % (t,f),u[:2])
return (filename, open(os.path.join(path, name), 'rb'))
web2py 2.1.1:
else:
# ## if file is on regular filesystem
stream = open(pjoin(file_properties['path'], name), 'rb')
return (filename, stream)
in both versions a stream is returned for a file on the filesystem.
On Monday, March 11, 2013 1:35:51 AM UTC+1, Massimo Di Pierro wrote:
>
> No. For uploads stored on filesystem it always returned (filename,
> fullfilename). For other types of uploads it returned (filename, stream).
>
> We tried to change this and return always consistently (filename,
> stream). There was only one trunk version that did that. It was reverted
> because of caching concerns. The current trunk version is another
> experiment. These are tests. This is not the standard behavior. I am glad
> it now works as you expect but it not decided it is going to stay this way
> until we clear all issues.
>
>
>
> On Sunday, 10 March 2013 18:25:02 UTC-5, Alex wrote:
>>
>> I guess you meant to say it always returned a stream instead of the file
>> name in your reply above (and not the other way around)?
>>
>> I just saw your recent commit and it works fine again, the retrieve
>> method now returns a stream as excepted. thanks!
>>
>> Am Sonntag, 10. März 2013 23:40:39 UTC+1 schrieb Massimo Di Pierro:
>>>
>>> Can you check is the current trunk works for you? We are trying to
>>> improve the APIs of retrieve.
>>>
>>> On Sunday, 10 March 2013 13:58:23 UTC-5, Alex wrote:
>>>>
>>>> I'm currently using web2py 2.1.1 and wanted to try 2.4.2 but I got a
>>>> problem with retrieving uploaded files from the file system. I'm using the
>>>> retrieve method of the upload field.
>>>> The problem is in dal.py line 9265 where it returns the file path
>>>> instead of the stream.
>>>> stream = pjoin(file_properties['path'], name)
>>>> previously this was
>>>> stream = open(pjoin(file_properties['path'], name), 'rb')
>>>>
>>>> now my code does not work anymore. I assume the missing open call is a
>>>> bug, right?
>>>>
>>>> Alex
>>>>
>>>>
--
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.