formencode.htmlfill_schemabuilder – Read a Schema from an HTML Form

Extension to htmlfill that can parse out schema-defining statements.

You can either pass SchemaBuilder to htmlfill.render (the listen argument), or call parse_schema to just parse out a Schema object.

Module Contents

formencode.htmlfill_schemabuilder.parse_schema(form)

Given an HTML form, parse out the schema defined in it and return that schema.

class formencode.htmlfill_schemabuilder.SchemaBuilder(validators={'nodefault': <class 'formencode.api.NoDefault'>, 'rangevalidator': <class 'formencode.validators.RangeValidator'>, 'datetime_now': <function datetime_now>, 'random': None, 'absolute_import': _Feature((2, 5, 0, 'alpha', 1), (3, 0, 0, 'alpha', 0), 16384), 'datetime_time': <function datetime_time>, 'phonenumber': <function PhoneNumber>, 'validators': <function validators>, 'dictconverter': <class 'formencode.validators.DictConverter'>, 'fieldsmatch': <class 'formencode.validators.FieldsMatch'>, 'unicodestring': <class 'formencode.validators.UnicodeString'>, 'string': <class 'formencode.validators.ByteString'>, 'macaddress': <class 'formencode.validators.MACAddress'>, '__file__': '/home/docs/checkouts/readthedocs.org/user_builds/formencode/checkouts/latest/formencode/validators.py', 'datetime_makedate': <function datetime_makedate>, 'postalcode': <function PostalCode>, 'requireifmissing': <class 'formencode.validators.RequireIfMissing'>, 'datetime_module': None, 'have_dns': False, 'fieldstorageuploadconverter': <class 'formencode.validators.FieldStorageUploadConverter'>, 'creditcardsecuritycode': <class 'formencode.validators.CreditCardSecurityCode'>, 'requireifpresent': <class 'formencode.validators.RequireIfMissing'>, 'datetime_isotime': <function datetime_isotime>, 'set': <class 'formencode.validators.Set'>, 'timeconverter': <class 'formencode.validators.TimeConverter'>, 'openid': <class 'formencode.validators.OpenId'>, 'locale': <module 'locale' from '/home/docs/checkouts/readthedocs.org/user_builds/formencode/envs/latest/lib/python2.7/locale.pyc'>, 'requireifmatching': <class 'formencode.validators.RequireIfMatching'>, 'stripfield': <class 'formencode.validators.StripField'>, '__all__': ['Invalid', 'Regex', 'FieldsMatch', 'TimeConverter', 'OpenId', 'OneOf', 'Number', 'ConfirmType', 'Bool', 'PlainText', 'DateValidator', 'Email', 'RequireIfMatching', 'FieldStorageUploadConverter', 'String', 'CreditCardSecurityCode', 'DictConverter', 'ISODateTimeConverter', 'StripField', 'CreditCardValidator', 'Empty', 'FormValidator', 'Set', 'IPAddress', 'FileUploadKeeper', 'Wrapper', 'XRI', 'RangeValidator', 'RequireIfMissing', 'StringBool', 'CreditCardExpires', 'StringBoolean', 'URL', 'Validator', 'CIDR', 'RequireIfPresent', 'Constant', 'NotEmpty', 'MACAddress', 'Int', 'MinLength', 'SignedString', 'IndexListConverter', 'DateConverter', 'FancyValidator', 'MaxLength', 'ByteString', 'UnicodeString'], 're': <module 're' from '/home/docs/checkouts/readthedocs.org/user_builds/formencode/envs/latest/lib/python2.7/re.pyc'>, 'formvalidator': <class 'formencode.validators.FormValidator'>, 'email': <class 'formencode.validators.Email'>, 'cgi': <module 'cgi' from '/usr/lib/python2.7/cgi.pyc'>, '__builtins__': {'bytearray': <type 'bytearray'>, 'IndexError': <type 'exceptions.IndexError'>, 'all': <built-in function all>, 'help': Type help() for interactive help, or help(object) for help about object., 'vars': <built-in function vars>, 'SyntaxError': <type 'exceptions.SyntaxError'>, 'unicode': <type 'unicode'>, 'UnicodeDecodeError': <type 'exceptions.UnicodeDecodeError'>, 'memoryview': <type 'memoryview'>, 'isinstance': <built-in function isinstance>, 'copyright': Copyright (c) 2001-2016 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved., 'NameError': <type 'exceptions.NameError'>, 'BytesWarning': <type 'exceptions.BytesWarning'>, 'dict': <type 'dict'>, 'input': <built-in function input>, 'oct': <built-in function oct>, 'bin': <built-in function bin>, 'SystemExit': <type 'exceptions.SystemExit'>, 'StandardError': <type 'exceptions.StandardError'>, 'format': <built-in function format>, 'repr': <built-in function repr>, 'sorted': <built-in function sorted>, 'False': False, 'RuntimeWarning': <type 'exceptions.RuntimeWarning'>, 'list': <type 'list'>, 'iter': <built-in function iter>, 'reload': <built-in function reload>, 'Warning': <type 'exceptions.Warning'>, '__package__': None, 'round': <built-in function round>, 'dir': <built-in function dir>, 'cmp': <built-in function cmp>, 'set': <type 'set'>, 'bytes': <type 'str'>, 'reduce': <built-in function reduce>, 'intern': <built-in function intern>, 'issubclass': <built-in function issubclass>, 'Ellipsis': Ellipsis, 'EOFError': <type 'exceptions.EOFError'>, 'locals': <built-in function locals>, 'BufferError': <type 'exceptions.BufferError'>, 'slice': <type 'slice'>, 'FloatingPointError': <type 'exceptions.FloatingPointError'>, 'sum': <built-in function sum>, 'getattr': <built-in function getattr>, 'abs': <built-in function abs>, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'print': <built-in function print>, 'True': True, 'FutureWarning': <type 'exceptions.FutureWarning'>, 'ImportWarning': <type 'exceptions.ImportWarning'>, 'None': None, 'hash': <built-in function hash>, 'ReferenceError': <type 'exceptions.ReferenceError'>, 'len': <built-in function len>, 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands for supporting Python development. See www.python.org for more information., 'frozenset': <type 'frozenset'>, '__name__': '__builtin__', 'ord': <built-in function ord>, 'super': <type 'super'>, 'TypeError': <type 'exceptions.TypeError'>, 'license': See http://www.python.org/2.7/license.html, 'KeyboardInterrupt': <type 'exceptions.KeyboardInterrupt'>, 'UserWarning': <type 'exceptions.UserWarning'>, 'filter': <built-in function filter>, 'range': <built-in function range>, 'staticmethod': <type 'staticmethod'>, 'SystemError': <type 'exceptions.SystemError'>, 'BaseException': <type 'exceptions.BaseException'>, 'pow': <built-in function pow>, 'RuntimeError': <type 'exceptions.RuntimeError'>, 'float': <type 'float'>, 'MemoryError': <type 'exceptions.MemoryError'>, 'StopIteration': <type 'exceptions.StopIteration'>, 'globals': <built-in function globals>, 'divmod': <built-in function divmod>, 'enumerate': <type 'enumerate'>, 'apply': <built-in function apply>, 'LookupError': <type 'exceptions.LookupError'>, 'open': <built-in function open>, 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'basestring': <type 'basestring'>, 'UnicodeError': <type 'exceptions.UnicodeError'>, 'zip': <built-in function zip>, 'hex': <built-in function hex>, 'long': <type 'long'>, 'next': <built-in function next>, 'ImportError': <type 'exceptions.ImportError'>, 'chr': <built-in function chr>, 'xrange': <type 'xrange'>, 'type': <type 'type'>, '__doc__': "Built-in functions, exceptions, and other objects.nnNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", 'Exception': <type 'exceptions.Exception'>, 'tuple': <type 'tuple'>, 'UnicodeTranslateError': <type 'exceptions.UnicodeTranslateError'>, 'reversed': <type 'reversed'>, 'UnicodeEncodeError': <type 'exceptions.UnicodeEncodeError'>, 'IOError': <type 'exceptions.IOError'>, 'hasattr': <built-in function hasattr>, 'delattr': <built-in function delattr>, 'setattr': <built-in function setattr>, 'raw_input': <built-in function raw_input>, 'SyntaxWarning': <type 'exceptions.SyntaxWarning'>, 'compile': <built-in function compile>, 'ArithmeticError': <type 'exceptions.ArithmeticError'>, 'str': <type 'str'>, 'property': <type 'property'>, 'GeneratorExit': <type 'exceptions.GeneratorExit'>, 'int': <type 'int'>, '__import__': <built-in function __import__>, 'KeyError': <type 'exceptions.KeyError'>, 'coerce': <built-in function coerce>, 'PendingDeprecationWarning': <type 'exceptions.PendingDeprecationWarning'>, 'file': <type 'file'>, 'EnvironmentError': <type 'exceptions.EnvironmentError'>, 'unichr': <built-in function unichr>, 'id': <built-in function id>, 'OSError': <type 'exceptions.OSError'>, 'DeprecationWarning': <type 'exceptions.DeprecationWarning'>, 'min': <built-in function min>, 'UnicodeWarning': <type 'exceptions.UnicodeWarning'>, 'execfile': <built-in function execfile>, 'any': <built-in function any>, 'complex': <type 'complex'>, 'bool': <type 'bool'>, 'ValueError': <type 'exceptions.ValueError'>, 'NotImplemented': NotImplemented, 'map': <built-in function map>, 'buffer': <type 'buffer'>, 'max': <built-in function max>, 'object': <type 'object'>, 'TabError': <type 'exceptions.TabError'>, 'callable': <built-in function callable>, 'ZeroDivisionError': <type 'exceptions.ZeroDivisionError'>, 'eval': <built-in function eval>, '__debug__': True, 'IndentationError': <type 'exceptions.IndentationError'>, 'AssertionError': <type 'exceptions.AssertionError'>, 'classmethod': <type 'classmethod'>, 'UnboundLocalError': <type 'exceptions.UnboundLocalError'>, 'NotImplementedError': <type 'exceptions.NotImplementedError'>, 'AttributeError': <type 'exceptions.AttributeError'>, 'OverflowError': <type 'exceptions.OverflowError'>}, 'confirmtype': <class 'formencode.validators.ConfirmType'>, '__name__': 'formencode.validators', '_': <function <lambda>>, 'socket': None, 'signedstring': <class 'formencode.validators.SignedString'>, 'range': <type 'xrange'>, 'maxlength': <class 'formencode.validators.MaxLength'>, 'http_client': None, 'bytestring': <class 'formencode.validators.ByteString'>, 'iphonenumbervalidator': <function IPhoneNumberValidator>, 'stateprovince': <function StateProvince>, 'number': <class 'formencode.validators.Number'>, 'datevalidator': <class 'formencode.validators.DateValidator'>, 'mxdatetime_module': None, 'regex': <class 'formencode.validators.Regex'>, 'fancyvalidator': <class 'formencode.api.FancyValidator'>, 'wrapper': <class 'formencode.validators.Wrapper'>, 'plaintext': <class 'formencode.validators.PlainText'>, 'indexlistconverter': <class 'formencode.validators.IndexListConverter'>, '__doc__': 'nValidator/Converters for use with FormEncode.n', 'empty': <class 'formencode.validators.Empty'>, 'creditcardvalidator': <class 'formencode.validators.CreditCardValidator'>, 'cidr': <class 'formencode.validators.CIDR'>, 'isodatetimeconverter': <class 'formencode.validators.ISODateTimeConverter'>, 'creditcardexpires': <class 'formencode.validators.CreditCardExpires'>, 'import_datetime': <function import_datetime>, 'constant': <class 'formencode.validators.Constant'>, 'int': <class 'formencode.validators.Int'>, 'fileuploadkeeper': <class 'formencode.validators.FileUploadKeeper'>, 'deprecation_warning': <function deprecation_warning>, 'minlength': <class 'formencode.validators.MinLength'>, 'six': <module 'six' from '/home/docs/checkouts/readthedocs.org/user_builds/formencode/envs/latest/local/lib/python2.7/site-packages/six.pyc'>, 'invalid': <class 'formencode.api.Invalid'>, '__package__': 'formencode', 'bool': <class 'formencode.validators.Bool'>, 'dateconverter': <class 'formencode.validators.DateConverter'>, 'map': <type 'itertools.imap'>, 'oneof': <class 'formencode.validators.OneOf'>, 'warnings': <module 'warnings' from '/home/docs/checkouts/readthedocs.org/user_builds/formencode/envs/latest/lib/python2.7/warnings.pyc'>, 'stringbool': <class 'formencode.validators.StringBool'>, 'stringboolean': <class 'formencode.validators.StringBool'>, 'is_empty': <function is_empty>, 'xri': <class 'formencode.validators.XRI'>, 'ipaddress': <class 'formencode.validators.IPAddress'>, 'identity': validators.Identity, 'sha1': None, 'notempty': <class 'formencode.validators.NotEmpty'>, 'url': <class 'formencode.validators.URL'>, 'urlparse': None, 'validator': <class 'formencode.api.Validator'>, 'idna': <module 'encodings.idna' from '/home/docs/checkouts/readthedocs.org/user_builds/formencode/envs/latest/lib/python2.7/encodings/idna.pyc'>})