Package web2py :: Package gluon :: Module validators :: Class IS_UPLOAD_FILENAME
[hide private]
[frames] | no frames]

Class IS_UPLOAD_FILENAME

source code

object --+    
         |    
 Validator --+
             |
            IS_UPLOAD_FILENAME


Checks if name and extension of file uploaded through file input matches
given criteria.

Does *not* ensure the file type in any way. Returns validation failure
if no data was uploaded.

Arguments::

filename: filename (before dot) regex
extension: extension (after dot) regex
lastdot: which dot should be used as a filename / extension separator:
         True means last dot, eg. file.png -> file / png
         False means first dot, eg. file.tar.gz -> file / tar.gz
case: 0 - keep the case, 1 - transform the string into lowercase (default),
      2 - transform the string into uppercase

If there is no dot present, extension checks will be done against empty
string and filename checks against whole value.

Examples::

    #Check if file has a pdf extension (case insensitive):
    INPUT(_type='file', _name='name',
        requires=IS_UPLOAD_FILENAME(extension='pdf'))

    #Check if file has a tar.gz extension and name starting with backup:
    INPUT(_type='file', _name='name',
        requires=IS_UPLOAD_FILENAME(filename='backup.*',
            extension='tar.gz', lastdot=False))

    #Check if file has no extension and name matching README
    #(case sensitive):
    INPUT(_type='file', _name='name',
        requires=IS_UPLOAD_FILENAME(filename='^README$',
            extension='^$', case=0))



Instance Methods [hide private]
 
__init__(self, filename=1, extension=1, lastdot=True, case=1, error_message='enter valid filename')
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__call__(self, value) source code

Inherited from Validator: formatter

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, filename=1, extension=1, lastdot=True, case=1, error_message='enter valid filename')
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)