Should I submit a ticket on it, or is this email exchange enough to get it fixed in the book?

What are your thoughts on the bogus directory name being allowed and then blindly not saving the file? Seems to me that this could be an issue as well.

    -Jim

On 1/3/2012 1:42 PM, Anthony wrote:
No, I think the book example is incorrect -- you get an error without specifying something for the uploadfolder, so we should fix that.

Anthony

On Tuesday, January 3, 2012 2:33:26 PM UTC-5, Jim S wrote:

    Sorry, still confused.  Is the example in the book incorrect then?
    http://web2py.com/books/default/chapter/29/7#SQLFORM.factory
    <http://web2py.com/books/default/chapter/29/7#SQLFORM.factory>

    Another thing I noticed is that I can pass any string to
    uploadfolder and the form will work.  If the name passed isn't a
    valid directory, the form still works but the uploaded file isn't
    stored on the server, which happens to be my desired result in
    this scenario.  But, it seems like it kinda makes uploadfolder
    optional.

    Sorry this isn't sinking in for me...

        -Jim

    On 1/3/2012 11:48 AM, Anthony wrote:
    In DAL.Field.store(), when no uploadfolder is specified with the
    Field definition, it looks for Field.db._adapter.folder (to get
    the /app/databases folder). SQLFORM.factory constructs a fake db
    table via DAL(None).define_table(table_name, *fields), which does
    not have a db._adapter.folder.

    Anthony

    On Tuesday, January 3, 2012 9:23:42 AM UTC-5, Jim S wrote:

        I'm still confused about the uploadfolder.

        Why do I need to specify it when using SQLFORM.factory but
        not when
        using SQLFORM.smartgrid over a table with an 'upload' field.

        Why doesn't it use the default /uploads folder?

        Where does the default get set?

        I'm following the example as in the book on page 342.  I'm
        running
        trunk, updated this morning at 8:20 central.

             -Jim

        On 1/2/2012 5:18 PM, Alan Etkin wrote:
        > Uploadfolder sets a custom folder instead of app/uploads.
        The function
        > parameters are available at API docs:
        >
        >
        
http://web2py.com/examples/static/epydoc/web2py.gluon.dal.Field-class.html
        
<http://web2py.com/examples/static/epydoc/web2py.gluon.dal.Field-class.html>
        >
        > On 2 ene, 18:34, Jim Steil<[email protected]>  wrote:
        >> found the solution.
        >>
        >> in the code below, change line
        >>
        >> importfile = request.vars.importFile.file
        >>
        >> to
        >>
        >> importfile = request.vars.importFile.value
        >>
        >> Still don't know why I need the uploadfolder, but this
        solved my main issue.
        >>
        >>       -Jim
        >>
        >> On 1/2/2012 12:39 PM, Jim Steil wrote:
        >>
        >>> Hi
        >>> I have an upload field defined in a SQLFORM.factory form
        as follows:
        >>> def wasptime():
        >>>      from reports.payroll import wasptime
        >>>      response.title = 'WASPTime Payroll Import Conversion'
        >>>      form = SQLFORM.factory(
        >>>              Field('importFile', 'upload',
        label='WASPTime File',
        >>>                    uploadfolder='c:/deleteme/payroll/test'),
        >>>              Field('processDate', 'date', required=True,
        >>>                    requires=IS_DATE('%m/%d/%Y'),
        >>>                    label='Process Date'))
        >>>      if form.process().accepted:
        >>>          importFile = request.vars.importFile.file
        >>>          processDate = request.vars.processDate
        >>>          wasptime.payrollImport(processDate, importFile,
        'testfile.csv')
        >>>      return dict(form=form)
        >>> in my wasptime.payrollImport method I am trying to read
        through the
        >>> lines in the uploaded file using:
        >>> def payrollImport(dateWorked, f, outputFile):
        >>>      for line in f.readlines():
        >>>          ...processing takes place here for each line in
        the file
        >>> but, I'm not getting any lines to print.  Can't seem to
        find the right
        >>> way to handle this.
        >>> In addition, why do I need to specify an uploadfolder in
        the 'upload'
        >>> field definition in SQLFORM.factory?
        >>> Thanks
        >>>      -Jim
        >>

Reply via email to