On Aug 26, 2010, at 6:56 AM, Joe Wakefield wrote:
> 
> Massimo,
> 
> The new code works great! Thanks for the quick fix.

And yes, the comment is helpful.

> 
> Regards,
> Joe
> 
> On Aug 25, 10:51 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>> Please check if this is fixed in trunk and if the comment I added
>> makes any sense.
>> 
>> Massimo
>> 
>> On Aug 25, 10:59 am, Jonathan Lundell <jlund...@pobox.com> wrote:
>> 
>>> On Aug 25, 2010, at 8:33 AM, Joe Wakefield wrote:
>> 
>>>> I'll do you one better. The problem is in "sqlhtml.py" at lines
>>>> 909-917. It changes ret=False to ret=True if the field already has a
>>>> value.
>> 
>>> Good catch. This is a case where a comment documenting the intent of this 
>>> hunk of code would come in handy for those of us reading it. The error is 
>>> cancelled under certain conditions, but what's the intent?
>> 
>>>> =======
>>>> ret, errors: False, <Storage {'photo': 'invalid image'}>
>>>> new ret:False
>>>> =======
>>>> ret, errors: True, <Storage {}>
>>>> new ret:True
>>>> new: users.photo.8a5327ab32003765.6c6c616d61732e6a7067.jpg    old:
>>>> =======
>>>> ret, errors: False, <Storage {'photo': 'invalid image'}>
>>>> new ret:True
>>>> new: users.photo.b6369c7a23ae4813.312e706e67.png    old: users.photo.
>>>> 8a5327ab32003765.6c6c616d61732e6a7067.jpg
>> 
>>>> On Aug 25, 10:17 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>>>>> can you help me debug?
>> 
>>>>> in gluon/validators.py
>> 
>>>>> classIS_IMAGE:
>>>>>     def __call__(self,value):
>>>>>        ....
>>>>>         except:
>>>>>             return (value, self.error_message)
>> 
>>>>> replace last two lines with
>> 
>>>>>         except Exception, e:
>>>>>             return (value, str(r))
>> 
>>>>> what does the error say?
>> 
>>>>> On Aug 23, 4:06 pm, mdipierro <mdipie...@cs.depaul.edu> wrote:
>> 
>>>>>> Something is wrong here
>> 
>>>>>> IS_IMAGE(extensions=('jpeg'))
>> 
>>>>>> should be
>> 
>>>>>> IS_IMAGE(extensions=('jpeg',))
>> 
>>>>>> A tuple of one element must contain a comma. Not sure if that may be
>>>>>> the cause of your problem.
>> 
>>>>>> On Aug 23, 3:16 pm, Joe Wakefield <coffeeburr...@gmail.com> wrote:
>> 
>>>>>>> I was also experiencing this issue, but found that rebuilding the
>>>>>>> database only worked until the first valid upload, after which it is
>>>>>>> broken again.
>> 
>>>>>>> In my case, I am using:
>>>>>>> Field('photo', 'upload', uploadfield='photo_data',
>>>>>>> requires=IS_IMAGE(extensions=('jpeg'))),
>>>>>>> Field('photo_data', 'blob', requires=IS_IMAGE(extensions=('jpeg'))),
>> 
>>>>>>> And was using SQLFORM to display the update form.
>> 
>>>>>>> When I first added this, it was accepting absolutely everything (pdf,
>>>>>>> odt, zip) as an upload. I deleted my database entirely, and had it
>>>>>>> rebuilt. I first noticed that it started rejecting non-image uploads.
>>>>>>> However, once I had uploaded an image, all subsequent uploads of non-
>>>>>>> image types were allowed again. A second database build showed the
>>>>>>> exact same behaviour; proper rejection until the first valid upload.
>> 
>>>>>>> I then made a backup of my web2py folder, and extracted today's
>>>>>>> nightly build over my folder. Rebuilding my database one last time, it
>>>>>>> shows the exact same behaviour.
>> 
>>>>>>> On Jul 11, 2:56 pm, Rob <r...@rmdashr.com> wrote:
>> 
>>>>>>>> I just recently added:
>> 
>>>>>>>> db.Item.image.requires =IS_IMAGE()
>> 
>>>>>>>> The records that existed prior to adding this line does not obey 
>>>>>>>> theIS_IMAGE() (ie: they still allow me to upload a PDF).  All new 
>>>>>>>> records
>>>>>>>> created DO work - they force me to select an image or else they show
>>>>>>>> an error.
>> 
>>>>>>>> steps to reproduce (untested)
>>>>>>>> 1)  create DB
>>>>>>>> db.define_table('Item',
>>>>>>>>                 Field('description'),
>>>>>>>>                 Field('need', 'boolean'),
>>>>>>>>                 Field('image', 'upload'))
>> 
>>>>>>>> 2) add rows to the table
>>>>>>>> 3) add rules:
>>>>>>>> db.Item.category.requires = IS_IN_DB(db, db.Category.id,'%(name)s')
>>>>>>>> db.Item.description.requires = IS_NOT_EMPTY()
>>>>>>>> db.Item.image.requires =IS_IMAGE()
>> 
>>>>>>>> 4) go back to the rows you added to the Item table and add non-image
>>>>>>>> files - notice it works
>> 
>>>>>>>> Does that help?
>> 
>>>>>>>> On Jul 11, 11:42 am, mdipierro <mdipie...@cs.depaul.edu> wrote:
>> 
>>>>>>>>> Please tell us more. When do you get an error? What is the error?
>> 
>>>>>>>>> On 11 Lug, 11:57, Rob <r...@rmdashr.com> wrote:
>> 
>>>>>>>>>> This issue only happens for records that were created before I added
>>>>>>>>>> the .requires fields.  Error handling on new records works as
>>>>>>>>>> expected...  so... is it still a bug?
>> 
>>>>>>>>>> On Jul 11, 9:15 am, Rob <r...@rmdashr.com> wrote:
>> 
>>>>>>>>>>> db.define_table('Category',
>>>>>>>>>>>                 Field('name'))
>> 
>>>>>>>>>>> db.define_table('Item',
>>>>>>>>>>>                 Field('category', db.Category),
>>>>>>>>>>>                 Field('description'),
>>>>>>>>>>>                 Field('need', 'boolean'),
>>>>>>>>>>>                 Field('image', 'upload'))
>> 
>>>>>>>>>>> db.Item.category.requires = IS_IN_DB(db, db.Category.id)
>>>>>>>>>>> db.Item.description.requires = IS_NOT_EMPTY()
>>>>>>>>>>> db.Item.image.requires =IS_IMAGE()
>> 
>>>>>>>>>>> def details():
>>>>>>>>>>>     item = request.args(0)
>>>>>>>>>>>     form = crud.update(db.Item, item, next=URL(r=request, 
>>>>>>>>>>> args=item))
>>>>>>>>>>>     return dict(form=form)
>> 
>>>>>>>>>>> It allows me to upload PDFs and flashes 'record updated'
>> 
>> 


Reply via email to