~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/util/configobj/docs/validate.txt

Don't ignore bzrlib/plugins -- really bad idea because they can have bad 
old plugins lying around!

Show diffs side-by-side

added added

removed removed

Lines of Context:
8
8
 
9
9
 
10
10
:Authors: `Michael Foord`_, `Nicola Larosa`_, `Mark Andrews`_
11
 
:Version: Validate 0.2.1
12
 
:Date: 2005/12/16
 
11
:Version: Validate 0.2.0
 
12
:Date: 2005/08/25
13
13
:Homepage: `Validate Homepage`_
14
14
:License: `BSD License`_
15
15
:Support: `Mailing List`_
20
20
.. _Mark Andrews: mark@la-la.com
21
21
.. _This Document:
22
22
.. _Validate Homepage: http://www.voidspace.org.uk/python/validate.html
23
 
.. _BSD License: http://www.voidspace.org.uk/python/license.shtml
 
23
.. _BSD License: http://www.voidspace.org.uk/documents/BSD-LICENSE.txt
24
24
 
25
25
 
26
26
.. contents:: Validate Manual
56
56
into every validator. Additional checks are easy to write: they can be provided
57
57
when the ``Validator`` is instantiated, or added afterwards.
58
58
 
59
 
Validate was primarily written to support ConfigObj_, but is designed to be 
 
59
Validate was primarily written to support ConfigObj_, but was designed to be 
60
60
applicable to many other situations.
61
61
 
62
62
For support and bug reports please use the ConfigObj `Mailing List`_.
66
66
Downloading
67
67
===========
68
68
 
69
 
The current version is **0.2.1**, dated 16th December 2005. 
 
69
The current version is **0.2.0**, dated 25th August 2005. 
70
70
 
71
71
You can get obtain validate in the following ways :
72
72
 
76
76
* validate.py_ from Voidspace
77
77
 
78
78
* configobj.zip from Voidspace - See the homepage of ConfigObj_ for the latest 
79
 
  version and download links.
 
79
  version and downlaod links.
80
80
 
81
81
    This contains validate.py and `this document`_. (As well as ConfigObj_ and 
82
82
    the ConfigObj documentation).
101
101
Python Projects`_.
102
102
 
103
103
.. _configobj.py: http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj.py
104
 
.. _configobj.zip: http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj-4.1.0.zip
 
104
.. _configobj.zip: http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=configobj-4.0.0b4.zip
105
105
.. _validate.py: http://www.voidspace.org.uk/cgi-bin/voidspace/downman.py?file=validate.py
106
106
.. _API Docs: http://www.voidspace.org.uk/python/configobj-api/
107
107
.. _Subversion Repository: http://svn.rest2web.python-hosting.com/branches/configobj4/
203
203
    from validate import Validator
204
204
    #
205
205
    vtor = Validator()
206
 
    newval1 = vtor.check('integer', value1)
207
 
    newval2 = vtor.check('bool', value2)
 
206
    newval1 = vtor.check(value1, 'integer')
 
207
    newval2 = vtor.check(value2, 'bool')
208
208
    # etc ...
209
209
 
210
210
    {-coloring}
215
215
    them in ``try...except`` blocks. Better still,  use ConfigObj for a higher
216
216
    level interface.
217
217
 
218
 
 
219
218
Using Validator
220
219
===============
221
220
 
333
332
    Although the value can be a string, if it represents a list it should
334
333
    already have been turned into a list of strings.
335
334
 
336
 
 
337
335
Default Values
338
336
~~~~~~~~~~~~~~
339
337
 
367
365
that this check contains no useful value when missing, i.e. the value is
368
366
optional, and may be omitted without harm.
369
367
 
370
 
 
371
 
List Values
372
 
~~~~~~~~~~~
373
 
 
374
 
It's possible that you would like your default value to be a list. It's even
375
 
possible that you will write your own check functions - and would like to pass
376
 
them keyword arguments as lists from within the check.
377
 
 
378
 
To avoid confusing syntax with commas and quotes you use a list constructor to
379
 
specify that keyword arguments are lists. This includes the ``default`` value.
380
 
This makes checks look something like : ::
381
 
 
382
 
    checkname(default=list('val1', 'val2', 'val3'))
383
 
 
384
368
Validator Exceptions
385
369
====================
386
370
 
555
539
 
556
540
* A regex check function ?
557
541
* A timestamp check function ? (Using the ``parse`` function from ``DateUtil``).
558
 
* Allow triple quotes ? (getting a bit heavy for a regex)
 
542
* Allow triple quotes ? (getting a bit heavy for a single regex)
559
543
 
560
544
ISSUES
561
545
======
565
549
    Please file any bug reports to `Michael Foord`_ or the ConfigObj
566
550
    `Mailing List`_.
567
551
 
 
552
Lists passed as function arguments need additional quotes. Ugly, could do
 
553
with fixing this.
 
554
 
568
555
If we could pull tuples out of arguments, it would be easier
569
556
to specify arguments for 'mixed_lists'.
570
557
 
571
558
CHANGELOG
572
559
=========
573
560
 
574
 
2005/12/16      Version 0.2.1
575
 
-----------------------------
576
 
 
577
 
Fixed bug so we can handle keyword argument values with commas.
578
 
 
579
 
We now use a list constructor for passing list values to keyword arguments
580
 
(including ``default``) : ::
581
 
 
582
 
    default=list("val", "val", "val")
583
 
 
584
 
Added the ``_test`` test. {sm;:-)}
585
 
 
586
 
Moved a function call outside a try...except block.
587
561
 
588
562
2005/08/18      Version 0.2.0
589
563
-----------------------------