I define the db using:

db = DAL('sqlite://db.db')

db.define_table('database',
                SQLField('email','string'),
                SQLField('data','upload')
                )


I create a form using

form = SQLFORM.factory(db.database.email,db.database.data)

The form appears correctly but when i try to submit a file i get the
following error: (the problem seems to be in dal.py at line 4141 where
path == '' or path.endswith('/') )

File /home/charis/Desktop/test/gluon/dal.py in store at line 4141
            if path:
                pass
            elif self.uploadfolder:
                path = self.uploadfolder
            else:
                path = os.path.join(self.db._adapter.folder, '..',
'uploads')

            if self.uploadseparate:
                path = os.path.join(path,"%s.%s" % (self._tablename,
self.name),uuid_key[:2])
            if not os.path.exists(path):
                os.makedirs(path)

File /usr/lib/python2.6/posixpath.py in join at line 67
    will be discarded."""
    path = a
    for b in p:
        if b.startswith('/'):
            path = b
        elif path == '' or path.endswith('/'):

            path +=  b
        else:
            path += '/' + b
    return path



On Dec 20, 2:03 am, mdipierro <[email protected]> wrote:
> I cannot reproduce the problem. What db?
>
> On Dec 19, 6:39 pm, Charis <[email protected]> wrote:
>
>
>
>
>
>
>
> > I have the following error message when i try to upload a file in
> > web2py 1.90.4. This feature was working fine for me with the previews
> > versions.
>
> > Traceback (most recent call last):
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/gluon/restricted.py",
> > line 188, in restricted
> >     exec ccode in environment
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/applications/init/
> > controllers/default.py", line 150, in <module>
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/gluon/globals.py",
> > line 95, in <lambda>
> >     self._caller = lambda f: f()
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/applications/init/
> > controllers/default.py", line 15, in index
> >     if form.accepts(request.vars, session):
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/gluon/sqlhtml.py",
> > line 1104, in accepts
> >     newfilename = field.store(source_file, original_filename)
> >   File "/home/charis/Desktop/Dropbox/BioSP_v0.6/gluon/dal.py", line
> > 4132, in store
> >     path = os.path.join(self.db._adapter.folder, '..', 'uploads')
> >   File "/usr/lib/python2.6/posixpath.py", line 67, in join
> >     elif path == '' or path.endswith('/'):
> > AttributeError: 'NoneType' object has no attribute 'endswith'

Reply via email to