1
<?xml version="1.0" encoding="ascii"?>
2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
"DTD/xhtml1-transitional.dtd">
4
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
<title>pythonutils.configobj.ConfigObj</title>
7
<link rel="stylesheet" href="epydoc.css" type="text/css" />
8
<script type="text/javascript" src="epydoc.js"></script>
11
<body bgcolor="white" text="black" link="blue" vlink="#204080"
13
<!-- ==================== NAVIGATION BAR ==================== -->
14
<table class="navbar" border="0" width="100%" cellpadding="0"
15
bgcolor="#a0c0ff" cellspacing="0">
18
<th class="navbar"> <a class="navbar"
19
href="pythonutils.configobj-module.html">Home</a> </th>
22
<th class="navbar"> <a class="navbar"
23
href="trees.html">Trees</a> </th>
26
<th class="navbar"> <a class="navbar"
27
href="indices.html">Index</a> </th>
30
<th class="navbar"> <a class="navbar"
31
href="help.html">Help</a> </th>
33
<!-- Project homepage -->
34
<th class="navbar" align="right" width="100%">
35
<table border="0" cellpadding="0" cellspacing="0">
36
<tr><th class="navbar" align="center">
38
<a class="navbar" target="_top" href="http://www.voidspace.org.uk/python/configobj.html">ConfigObj</a>
39
</p></th></tr></table></th>
42
<table width="100%" cellpadding="0" cellspacing="0">
45
<span class="breadcrumbs">
46
Package pythonutils ::
47
<a href="pythonutils.configobj-module.html">Module configobj</a> ::
52
<table cellpadding="0" cellspacing="0">
53
<!-- hide/show private -->
54
<tr><td align="right"><span class="options">[<a href="javascript: void(0);" class="privatelink"
55
onclick="toggle_private();">hide private</a>]</span></td></tr>
56
<tr><td align="right"><span class="options"
57
>[<a href="frames.html" target="_top">frames</a
58
>] | <a href="pythonutils.configobj.ConfigObj-class.html"
59
target="_top">no frames</a>]</span></td></tr>
64
<!-- ==================== CLASS DESCRIPTION ==================== -->
65
<h2 class="class">Class ConfigObj
66
<br/><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj">source code</a></span></h2>
67
<pre class="base-tree">
72
<a href="pythonutils.configobj.Section-class.html">Section</a> --+
74
<strong class="uidshort">ConfigObj</strong>
78
An object to read, create, and write config files.<br /><br />
80
<!-- ==================== INSTANCE METHODS ==================== -->
81
<a name="section-InstanceMethods"></a>
82
<table class="summary" border="1" cellpadding="3"
83
cellspacing="0" width="100%" bgcolor="white">
84
<tr bgcolor="#70b0f0" class="summary">
86
<table border="0" cellpadding="0" cellspacing="0" width="100%">
88
<th align="left" class="summary">Instance Methods</th>
89
<td align="right" valign="top"
90
><span class="options">[<a href="#section-InstanceMethods"
91
class="privatelink" onclick="toggle_private();"
92
>hide private</a>]</span></td>
98
<td width="15%" align="right" valign="top" class="rtype">
102
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#__init__" class="sig-name">__init__</a>(<span class="sig-arg">self</span>,
103
<span class="sig-arg">infile</span>=<span class="sig-default">None</span>,
104
<span class="sig-arg">options</span>=<span class="sig-default">None</span>,
105
<span class="sig-arg">**kwargs</span>)</span>
106
<br />Parse or create a config file object.
110
<td width="15%" align="right" valign="top" class="rtype">
114
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#__repr__" class="sig-name">__repr__</a>(<span class="sig-arg">self</span>)</span>
119
<td width="15%" align="right" valign="top" class="rtype">
123
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_bom" class="sig-name">_handle_bom</a>(<span class="sig-arg">self</span>,
124
<span class="sig-arg">infile</span>)</span>
125
<br />Handle any BOM, and decode if necessary.
129
<td width="15%" align="right" valign="top" class="rtype">
133
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_a_to_u" class="sig-name">_a_to_u</a>(<span class="sig-arg">self</span>,
134
<span class="sig-arg">string</span>)</span>
135
<br />Decode ascii strings to unicode if a self.encoding is specified.
139
<td width="15%" align="right" valign="top" class="rtype">
143
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_decode" class="sig-name">_decode</a>(<span class="sig-arg">self</span>,
144
<span class="sig-arg">infile</span>,
145
<span class="sig-arg">encoding</span>)</span>
146
<br />Decode infile to unicode.
150
<td width="15%" align="right" valign="top" class="rtype">
154
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_decode_element" class="sig-name">_decode_element</a>(<span class="sig-arg">self</span>,
155
<span class="sig-arg">line</span>)</span>
156
<br />Decode element to unicode if necessary.
160
<td width="15%" align="right" valign="top" class="rtype">
164
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_str" class="sig-name">_str</a>(<span class="sig-arg">self</span>,
165
<span class="sig-arg">value</span>)</span>
166
<br />Used by <tt class="docutils literal"><span class="pre">stringify</span></tt> within validate, to turn non-string values
171
<td width="15%" align="right" valign="top" class="rtype">
175
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_parse" class="sig-name">_parse</a>(<span class="sig-arg">self</span>,
176
<span class="sig-arg">infile</span>)</span>
177
<br />Actually parse the config file.
181
<td width="15%" align="right" valign="top" class="rtype">
185
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_match_depth" class="sig-name">_match_depth</a>(<span class="sig-arg">self</span>,
186
<span class="sig-arg">sect</span>,
187
<span class="sig-arg">depth</span>)</span>
188
<br />Given a section and a depth level, walk back through the sections
189
parents to see if the depth level matches a previous section.
193
<td width="15%" align="right" valign="top" class="rtype">
197
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_error" class="sig-name">_handle_error</a>(<span class="sig-arg">self</span>,
198
<span class="sig-arg">text</span>,
199
<span class="sig-arg">ErrorClass</span>,
200
<span class="sig-arg">infile</span>,
201
<span class="sig-arg">cur_index</span>)</span>
202
<br />Handle an error according to the error settings.
206
<td width="15%" align="right" valign="top" class="rtype">
210
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_unquote" class="sig-name">_unquote</a>(<span class="sig-arg">self</span>,
211
<span class="sig-arg">value</span>)</span>
212
<br />Return an unquoted version of a value
216
<td width="15%" align="right" valign="top" class="rtype">
220
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_quote" class="sig-name">_quote</a>(<span class="sig-arg">self</span>,
221
<span class="sig-arg">value</span>,
222
<span class="sig-arg">multiline</span>=<span class="sig-default">True</span>)</span>
223
<br />Return a safely quoted version of a value.
227
<td width="15%" align="right" valign="top" class="rtype">
231
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_value" class="sig-name">_handle_value</a>(<span class="sig-arg">self</span>,
232
<span class="sig-arg">value</span>)</span>
233
<br />Given a value string, unquote, remove comment,
238
<td width="15%" align="right" valign="top" class="rtype">
242
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_multiline" class="sig-name">_multiline</a>(<span class="sig-arg">self</span>,
243
<span class="sig-arg">value</span>,
244
<span class="sig-arg">infile</span>,
245
<span class="sig-arg">cur_index</span>,
246
<span class="sig-arg">maxline</span>)</span>
247
<br />Extract the value, where we are in a multiline situation.
251
<td width="15%" align="right" valign="top" class="rtype">
255
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_configspec" class="sig-name">_handle_configspec</a>(<span class="sig-arg">self</span>,
256
<span class="sig-arg">configspec</span>)</span>
257
<br />Parse the configspec.
261
<td width="15%" align="right" valign="top" class="rtype">
265
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_set_configspec_value" class="sig-name">_set_configspec_value</a>(<span class="sig-arg">self</span>,
266
<span class="sig-arg">configspec</span>,
267
<span class="sig-arg">section</span>)</span>
268
<br />Used to recursively set configspec values.
272
<td width="15%" align="right" valign="top" class="rtype">
276
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_repeat" class="sig-name">_handle_repeat</a>(<span class="sig-arg">self</span>,
277
<span class="sig-arg">section</span>,
278
<span class="sig-arg">configspec</span>)</span>
279
<br />Dynamically assign configspec for repeated section.
283
<td width="15%" align="right" valign="top" class="rtype">
287
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_write_line" class="sig-name">_write_line</a>(<span class="sig-arg">self</span>,
288
<span class="sig-arg">indent_string</span>,
289
<span class="sig-arg">entry</span>,
290
<span class="sig-arg">this_entry</span>,
291
<span class="sig-arg">comment</span>)</span>
292
<br />Write an individual line, for the write method
296
<td width="15%" align="right" valign="top" class="rtype">
300
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_write_marker" class="sig-name">_write_marker</a>(<span class="sig-arg">self</span>,
301
<span class="sig-arg">indent_string</span>,
302
<span class="sig-arg">depth</span>,
303
<span class="sig-arg">entry</span>,
304
<span class="sig-arg">comment</span>)</span>
305
<br />Write a section marker line
309
<td width="15%" align="right" valign="top" class="rtype">
313
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_handle_comment" class="sig-name">_handle_comment</a>(<span class="sig-arg">self</span>,
314
<span class="sig-arg">comment</span>)</span>
315
<br />Deal with a comment.
319
<td width="15%" align="right" valign="top" class="rtype">
323
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#_compute_indent_string" class="sig-name">_compute_indent_string</a>(<span class="sig-arg">self</span>,
324
<span class="sig-arg">depth</span>)</span>
325
<br />Compute the indent string, according to current indent_type and depth
329
<td width="15%" align="right" valign="top" class="rtype">
333
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#write" class="sig-name">write</a>(<span class="sig-arg">self</span>,
334
<span class="sig-arg">outfile</span>=<span class="sig-default">None</span>,
335
<span class="sig-arg">section</span>=<span class="sig-default">None</span>)</span>
336
<br />Write the current ConfigObj as a file
340
<td width="15%" align="right" valign="top" class="rtype">
344
<span class="sig"><a href="pythonutils.configobj.ConfigObj-class.html#validate" class="sig-name">validate</a>(<span class="sig-arg">self</span>,
345
<span class="sig-arg">validator</span>,
346
<span class="sig-arg">preserve_errors</span>=<span class="sig-default">False</span>,
347
<span class="sig-arg">copy</span>=<span class="sig-default">False</span>,
348
<span class="sig-arg">section</span>=<span class="sig-default">None</span>)</span>
349
<br />Test the ConfigObj against a configspec.
354
<p class="varlist"><span class="varlist-header">Inherited from <code>dict</code></span>:
355
<code>__cmp__</code>,
356
<code>__contains__</code>,
359
<code>__getattribute__</code>,
361
<code>__hash__</code>,
363
<code>__len__</code>,
366
<code>__new__</code>,
368
<code>fromkeys</code>,
371
<p class="varlist"><span class="varlist-header">Inherited from <code>object</code></span>:
372
<code>__delattr__</code>,
373
<code>__reduce__</code>,
374
<code>__reduce_ex__</code>,
375
<code>__setattr__</code>
379
<tr bgcolor="#e8f0f8" >
380
<th colspan="2" class="group"
381
> Inherited from <a href="pythonutils.configobj.Section-class.html">Section</a></th></tr>
383
<td width="15%" align="right" valign="top" class="rtype">
387
<span class="sig"><a href="pythonutils.configobj.Section-class.html#__delitem__" class="sig-name">__delitem__</a>(<span class="sig-arg">self</span>,
388
<span class="sig-arg">key</span>)</span>
389
<br />Remove items from the sequence when deleting.
393
<td width="15%" align="right" valign="top" class="rtype">
397
<span class="sig"><a href="pythonutils.configobj.Section-class.html#__getitem__" class="sig-name">__getitem__</a>(<span class="sig-arg">self</span>,
398
<span class="sig-arg">key</span>)</span>
399
<br />Fetch the item and do string interpolation.
403
<td width="15%" align="right" valign="top" class="rtype">
407
<span class="sig"><a href="pythonutils.configobj.Section-class.html#__iter__" class="sig-name">__iter__</a>(<span class="sig-arg">self</span>)</span>
412
<td width="15%" align="right" valign="top" class="rtype">
416
<span class="sig"><a href="pythonutils.configobj.Section-class.html#__setitem__" class="sig-name">__setitem__</a>(<span class="sig-arg">self</span>,
417
<span class="sig-arg">key</span>,
418
<span class="sig-arg">value</span>,
419
<span class="sig-arg">unrepr</span>=<span class="sig-default">False</span>)</span>
420
<br />Correctly set a value.
424
<td width="15%" align="right" valign="top" class="rtype">
428
<span class="sig"><a href="pythonutils.configobj.Section-class.html#__str__" class="sig-name">__str__</a>(<span class="sig-arg">self</span>)</span>
433
<td width="15%" align="right" valign="top" class="rtype">
437
<span class="sig"><a href="pythonutils.configobj.Section-class.html#_interpolate" class="sig-name">_interpolate</a>(<span class="sig-arg">self</span>,
438
<span class="sig-arg">value</span>)</span>
439
<br />Nicked from ConfigParser.
443
<td width="15%" align="right" valign="top" class="rtype">
447
<span class="sig"><a href="pythonutils.configobj.Section-class.html#_interpolation_replace" class="sig-name">_interpolation_replace</a>(<span class="sig-arg">self</span>,
448
<span class="sig-arg">match</span>)</span>
453
<td width="15%" align="right" valign="top" class="rtype">
457
<span class="sig"><a href="pythonutils.configobj.Section-class.html#as_bool" class="sig-name">as_bool</a>(<span class="sig-arg">self</span>,
458
<span class="sig-arg">key</span>)</span>
459
<br />Accepts a key as input.
463
<td width="15%" align="right" valign="top" class="rtype">
467
<span class="sig"><a href="pythonutils.configobj.Section-class.html#as_float" class="sig-name">as_float</a>(<span class="sig-arg">self</span>,
468
<span class="sig-arg">key</span>)</span>
469
<br />A convenience method which coerces the specified value to a float.
473
<td width="15%" align="right" valign="top" class="rtype">
477
<span class="sig"><a href="pythonutils.configobj.Section-class.html#as_int" class="sig-name">as_int</a>(<span class="sig-arg">self</span>,
478
<span class="sig-arg">key</span>)</span>
479
<br />A convenience method which coerces the specified value to an integer.
483
<td width="15%" align="right" valign="top" class="rtype">
487
<span class="sig"><a href="pythonutils.configobj.Section-class.html#clear" class="sig-name">clear</a>(<span class="sig-arg">self</span>)</span>
488
<br />A version of clear that also affects scalars/sections
489
Also clears comments and configspec.
493
<td width="15%" align="right" valign="top" class="rtype">
497
<span class="sig"><a href="pythonutils.configobj.Section-class.html#decode" class="sig-name">decode</a>(<span class="sig-arg">self</span>,
498
<span class="sig-arg">encoding</span>)</span>
499
<br />Decode all strings and values to unicode, using the specified encoding.
503
<td width="15%" align="right" valign="top" class="rtype">
507
<span class="sig"><a href="pythonutils.configobj.Section-class.html#dict" class="sig-name">dict</a>(<span class="sig-arg">self</span>)</span>
508
<br />Return a deepcopy of self as a dictionary.
512
<td width="15%" align="right" valign="top" class="rtype">
516
<span class="sig"><a href="pythonutils.configobj.Section-class.html#encode" class="sig-name">encode</a>(<span class="sig-arg">self</span>,
517
<span class="sig-arg">encoding</span>)</span>
518
<br />Encode all strings and values from unicode,
519
using the specified encoding.
523
<td width="15%" align="right" valign="top" class="rtype">
527
<span class="sig"><a href="pythonutils.configobj.Section-class.html#get" class="sig-name">get</a>(<span class="sig-arg">self</span>,
528
<span class="sig-arg">key</span>,
529
<span class="sig-arg">default</span>=<span class="sig-default">None</span>)</span>
530
<br />A version of <tt class="docutils literal"><span class="pre">get</span></tt> that doesn't bypass string interpolation.
534
<td width="15%" align="right" valign="top" class="rtype">
538
<span class="sig"><a href="pythonutils.configobj.Section-class.html#istrue" class="sig-name">istrue</a>(<span class="sig-arg">self</span>,
539
<span class="sig-arg">key</span>)</span>
540
<br />A deprecated version of <tt class="docutils literal"><span class="pre">as_bool</span></tt>.
544
<td width="15%" align="right" valign="top" class="rtype">
548
<span class="sig"><a href="pythonutils.configobj.Section-class.html#items" class="sig-name">items</a>(<span class="sig-arg">self</span>)</span>
553
<td width="15%" align="right" valign="top" class="rtype">
557
<span class="sig"><a href="pythonutils.configobj.Section-class.html#iteritems" class="sig-name">iteritems</a>(<span class="sig-arg">self</span>)</span>
562
<td width="15%" align="right" valign="top" class="rtype">
566
<span class="sig"><a href="pythonutils.configobj.Section-class.html#iterkeys" class="sig-name">iterkeys</a>(<span class="sig-arg">self</span>)</span>
571
<td width="15%" align="right" valign="top" class="rtype">
575
<span class="sig"><a href="pythonutils.configobj.Section-class.html#itervalues" class="sig-name">itervalues</a>(<span class="sig-arg">self</span>)</span>
580
<td width="15%" align="right" valign="top" class="rtype">
584
<span class="sig"><a href="pythonutils.configobj.Section-class.html#keys" class="sig-name">keys</a>(<span class="sig-arg">self</span>)</span>
589
<td width="15%" align="right" valign="top" class="rtype">
593
<span class="sig"><a href="pythonutils.configobj.Section-class.html#merge" class="sig-name">merge</a>(<span class="sig-arg">self</span>,
594
<span class="sig-arg">indict</span>)</span>
595
<br />A recursive update - useful for merging config files.
599
<td width="15%" align="right" valign="top" class="rtype">
603
<span class="sig"><a href="pythonutils.configobj.Section-class.html#pop" class="sig-name">pop</a>(<span class="sig-arg">self</span>,
604
<span class="sig-arg">key</span>,
605
<span class="sig-arg">*args</span>)</span>
606
<br />If key is not found, d is returned if given, otherwise KeyError is raised
610
<td width="15%" align="right" valign="top" class="rtype">
614
<span class="sig"><a href="pythonutils.configobj.Section-class.html#popitem" class="sig-name">popitem</a>(<span class="sig-arg">self</span>)</span>
615
<br />Pops the first (key,val)
619
<td width="15%" align="right" valign="top" class="rtype">
623
<span class="sig"><a href="pythonutils.configobj.Section-class.html#rename" class="sig-name">rename</a>(<span class="sig-arg">self</span>,
624
<span class="sig-arg">oldkey</span>,
625
<span class="sig-arg">newkey</span>)</span>
626
<br />Change a keyname to another, without changing position in sequence.
630
<td width="15%" align="right" valign="top" class="rtype">
634
<span class="sig"><a href="pythonutils.configobj.Section-class.html#setdefault" class="sig-name">setdefault</a>(<span class="sig-arg">self</span>,
635
<span class="sig-arg">key</span>,
636
<span class="sig-arg">default</span>=<span class="sig-default">None</span>)</span>
637
<br />A version of setdefault that sets sequence if appropriate.
641
<td width="15%" align="right" valign="top" class="rtype">
645
<span class="sig"><a href="pythonutils.configobj.Section-class.html#update" class="sig-name">update</a>(<span class="sig-arg">self</span>,
646
<span class="sig-arg">indict</span>)</span>
647
<br />A version of update that uses our <tt class="docutils literal"><span class="pre">__setitem__</span></tt>.
651
<td width="15%" align="right" valign="top" class="rtype">
655
<span class="sig"><a href="pythonutils.configobj.Section-class.html#values" class="sig-name">values</a>(<span class="sig-arg">self</span>)</span>
660
<td width="15%" align="right" valign="top" class="rtype">
664
<span class="sig"><a href="pythonutils.configobj.Section-class.html#walk" class="sig-name">walk</a>(<span class="sig-arg">self</span>,
665
<span class="sig-arg">function</span>,
666
<span class="sig-arg">raise_errors</span>=<span class="sig-default">True</span>,
667
<span class="sig-arg">call_on_sections</span>=<span class="sig-default">False</span>,
668
<span class="sig-arg">**keywargs</span>)</span>
669
<br />Walk every member and call a function on the keyword and value.
675
<!-- ==================== CLASS VARIABLES ==================== -->
676
<a name="section-ClassVariables"></a>
677
<table class="summary" border="1" cellpadding="3"
678
cellspacing="0" width="100%" bgcolor="white">
679
<tr bgcolor="#70b0f0" class="summary">
681
<table border="0" cellpadding="0" cellspacing="0" width="100%">
683
<th align="left" class="summary">Class Variables</th>
684
<td align="right" valign="top"
685
><span class="options">[<a href="#section-ClassVariables"
686
class="privatelink" onclick="toggle_private();"
687
>hide private</a>]</span></td>
694
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_keyword">_keyword</a></strong></td>
699
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_sectionmarker">_sectionmarker</a></strong></td>
704
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_valueexp">_valueexp</a></strong></td>
709
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_listvalueexp">_listvalueexp</a></strong></td>
714
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_nolistvalue">_nolistvalue</a></strong></td>
719
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_single_line_single">_single_line_single</a></strong></td>
724
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_single_line_double">_single_line_double</a></strong></td>
729
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_multi_line_single">_multi_line_single</a></strong></td>
734
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_multi_line_double">_multi_line_double</a></strong></td>
739
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_triple_quote">_triple_quote</a></strong></td>
744
<strong><a href="pythonutils.configobj.ConfigObj-class.html#_bools">_bools</a></strong></td>
749
<p class="varlist"><span class="varlist-header">Inherited from <code>object</code></span>:
750
<code>__class__</code>
754
<tr bgcolor="#e8f0f8" class="private">
755
<th colspan="2" class="group"
756
> Inherited from <a href="pythonutils.configobj.Section-class.html">Section</a></th></tr>
759
<strong><a href="pythonutils.configobj.Section-class.html#_KEYCRE">_KEYCRE</a></strong></td>
765
<!-- ==================== METHOD DETAILS ==================== -->
766
<a name="section-MethodDetails"></a>
767
<table class="details" border="1" cellpadding="3"
768
cellspacing="0" width="100%" bgcolor="white">
769
<tr bgcolor="#70b0f0" class="details">
771
<table border="0" cellpadding="0" cellspacing="0" width="100%">
773
<th align="left" class="details">Method Details</th>
774
<td align="right" valign="top"
775
><span class="options">[<a href="#section-MethodDetails"
776
class="privatelink" onclick="toggle_private();"
777
>hide private</a>]</span></td>
783
<a name="__init__"></a>
785
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
786
<table width="100%" cellpadding="0" cellspacing="0" border="0">
787
<tr valign="top"><td>
788
<h3><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
789
<span class="sig-arg">infile</span>=<span class="sig-default">None</span>,
790
<span class="sig-arg">options</span>=<span class="sig-default">None</span>,
791
<span class="sig-arg">**kwargs</span>)</span>
792
<br /><em class="fname">(Constructor)</em>
794
</td><td align="right" valign="top"
795
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj.__init__">source code</a></span> </span
799
<p>Parse or create a config file object.</p>
800
<p><tt class="docutils literal"><span class="pre">ConfigObj(infile=None,</span> <span class="pre">options=None,</span> <span class="pre">**kwargs)</span></tt></p>
803
<a href="pythonutils.configobj.Section-class.html#__init__">Section.__init__</a>
808
<a name="__repr__"></a>
810
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
811
<table width="100%" cellpadding="0" cellspacing="0" border="0">
812
<tr valign="top"><td>
813
<h3><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
814
<br /><em class="fname">(Representation operator)</em>
816
</td><td align="right" valign="top"
817
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj.__repr__">source code</a></span> </span
824
<a href="pythonutils.configobj.Section-class.html#__repr__">Section.__repr__</a>
829
<a name="_handle_bom"></a>
830
<div class="private">
831
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
832
<table width="100%" cellpadding="0" cellspacing="0" border="0">
833
<tr valign="top"><td>
834
<h3><span class="sig"><span class="sig-name">_handle_bom</span>(<span class="sig-arg">self</span>,
835
<span class="sig-arg">infile</span>)</span>
837
</td><td align="right" valign="top"
838
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_bom">source code</a></span> </span
842
<p>Handle any BOM, and decode if necessary.</p>
843
<p>If an encoding is specified, that <em>must</em> be used - but the BOM should
844
still be removed (and the BOM attribute set).</p>
845
<p>(If the encoding is wrongly specified, then a BOM for an alternative
846
encoding won't be discovered or removed.)</p>
847
<p>If an encoding is not specified, UTF8 or UTF16 BOM will be detected and
848
removed. The BOM attribute will be set. UTF16 will be decoded to
850
<p>NOTE: This method must not be called with an empty <tt class="docutils literal"><span class="pre">infile</span></tt>.</p>
851
<p>Specifying the <em>wrong</em> encoding is likely to cause a
852
<tt class="docutils literal"><span class="pre">UnicodeDecodeError</span></tt>.</p>
853
<p><tt class="docutils literal"><span class="pre">infile</span></tt> must always be returned as a list of lines, but may be
854
passed in as a single string.</p>
859
<a name="_a_to_u"></a>
860
<div class="private">
861
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
862
<table width="100%" cellpadding="0" cellspacing="0" border="0">
863
<tr valign="top"><td>
864
<h3><span class="sig"><span class="sig-name">_a_to_u</span>(<span class="sig-arg">self</span>,
865
<span class="sig-arg">string</span>)</span>
867
</td><td align="right" valign="top"
868
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._a_to_u">source code</a></span> </span
872
Decode ascii strings to unicode if a self.encoding is specified.
877
<a name="_decode"></a>
878
<div class="private">
879
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
880
<table width="100%" cellpadding="0" cellspacing="0" border="0">
881
<tr valign="top"><td>
882
<h3><span class="sig"><span class="sig-name">_decode</span>(<span class="sig-arg">self</span>,
883
<span class="sig-arg">infile</span>,
884
<span class="sig-arg">encoding</span>)</span>
886
</td><td align="right" valign="top"
887
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._decode">source code</a></span> </span
891
<p>Decode infile to unicode. Using the specified encoding.</p>
892
<p>if is a string, it also needs converting to a list.</p>
897
<a name="_decode_element"></a>
898
<div class="private">
899
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
900
<table width="100%" cellpadding="0" cellspacing="0" border="0">
901
<tr valign="top"><td>
902
<h3><span class="sig"><span class="sig-name">_decode_element</span>(<span class="sig-arg">self</span>,
903
<span class="sig-arg">line</span>)</span>
905
</td><td align="right" valign="top"
906
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._decode_element">source code</a></span> </span
910
Decode element to unicode if necessary.
916
<div class="private">
917
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
918
<table width="100%" cellpadding="0" cellspacing="0" border="0">
919
<tr valign="top"><td>
920
<h3><span class="sig"><span class="sig-name">_str</span>(<span class="sig-arg">self</span>,
921
<span class="sig-arg">value</span>)</span>
923
</td><td align="right" valign="top"
924
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._str">source code</a></span> </span
928
Used by <tt class="docutils literal docutils literal"><span class="pre">stringify</span></tt> within validate, to turn non-string values
934
<a name="_parse"></a>
935
<div class="private">
936
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
937
<table width="100%" cellpadding="0" cellspacing="0" border="0">
938
<tr valign="top"><td>
939
<h3><span class="sig"><span class="sig-name">_parse</span>(<span class="sig-arg">self</span>,
940
<span class="sig-arg">infile</span>)</span>
942
</td><td align="right" valign="top"
943
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._parse">source code</a></span> </span
947
Actually parse the config file.
952
<a name="_match_depth"></a>
953
<div class="private">
954
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
955
<table width="100%" cellpadding="0" cellspacing="0" border="0">
956
<tr valign="top"><td>
957
<h3><span class="sig"><span class="sig-name">_match_depth</span>(<span class="sig-arg">self</span>,
958
<span class="sig-arg">sect</span>,
959
<span class="sig-arg">depth</span>)</span>
961
</td><td align="right" valign="top"
962
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._match_depth">source code</a></span> </span
966
<p>Given a section and a depth level, walk back through the sections
967
parents to see if the depth level matches a previous section.</p>
968
<p>Return a reference to the right section,
969
or raise a SyntaxError.</p>
974
<a name="_handle_error"></a>
975
<div class="private">
976
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
977
<table width="100%" cellpadding="0" cellspacing="0" border="0">
978
<tr valign="top"><td>
979
<h3><span class="sig"><span class="sig-name">_handle_error</span>(<span class="sig-arg">self</span>,
980
<span class="sig-arg">text</span>,
981
<span class="sig-arg">ErrorClass</span>,
982
<span class="sig-arg">infile</span>,
983
<span class="sig-arg">cur_index</span>)</span>
985
</td><td align="right" valign="top"
986
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_error">source code</a></span> </span
990
<p>Handle an error according to the error settings.</p>
991
<p>Either raise the error or store it.
992
The error will have occured at <tt class="docutils literal"><span class="pre">cur_index</span></tt></p>
997
<a name="_unquote"></a>
998
<div class="private">
999
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1000
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1001
<tr valign="top"><td>
1002
<h3><span class="sig"><span class="sig-name">_unquote</span>(<span class="sig-arg">self</span>,
1003
<span class="sig-arg">value</span>)</span>
1005
</td><td align="right" valign="top"
1006
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._unquote">source code</a></span> </span
1010
Return an unquoted version of a value
1015
<a name="_quote"></a>
1016
<div class="private">
1017
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1018
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1019
<tr valign="top"><td>
1020
<h3><span class="sig"><span class="sig-name">_quote</span>(<span class="sig-arg">self</span>,
1021
<span class="sig-arg">value</span>,
1022
<span class="sig-arg">multiline</span>=<span class="sig-default">True</span>)</span>
1024
</td><td align="right" valign="top"
1025
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._quote">source code</a></span> </span
1030
<p>Return a safely quoted version of a value.</p>
1031
<p>Raise a ConfigObjError if the value cannot be safely quoted.
1032
If multiline is <tt class="docutils literal"><span class="pre">True</span></tt> (default) then use triple quotes
1034
<p>Don't quote values that don't need it.
1035
Recursively quote members of a list and return a comma joined list.
1036
Multiline is <tt class="docutils literal"><span class="pre">False</span></tt> for lists.
1037
Obey list syntax for empty and single member lists.</p>
1038
<p>If <tt class="docutils literal"><span class="pre">list_values=False</span></tt> then the value is only quoted if it contains
1041
<p>`` (is multiline).</p>
1043
If <tt class="docutils literal"><span class="pre">write_empty_values</span></tt> is set, and the value is an empty string, it
1044
won't be quoted.</blockquote>
1049
<a name="_handle_value"></a>
1050
<div class="private">
1051
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1052
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1053
<tr valign="top"><td>
1054
<h3><span class="sig"><span class="sig-name">_handle_value</span>(<span class="sig-arg">self</span>,
1055
<span class="sig-arg">value</span>)</span>
1057
</td><td align="right" valign="top"
1058
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_value">source code</a></span> </span
1062
Given a value string, unquote, remove comment,
1063
handle lists. (including empty and single member lists)
1068
<a name="_multiline"></a>
1069
<div class="private">
1070
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1071
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1072
<tr valign="top"><td>
1073
<h3><span class="sig"><span class="sig-name">_multiline</span>(<span class="sig-arg">self</span>,
1074
<span class="sig-arg">value</span>,
1075
<span class="sig-arg">infile</span>,
1076
<span class="sig-arg">cur_index</span>,
1077
<span class="sig-arg">maxline</span>)</span>
1079
</td><td align="right" valign="top"
1080
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._multiline">source code</a></span> </span
1084
Extract the value, where we are in a multiline situation.
1089
<a name="_handle_configspec"></a>
1090
<div class="private">
1091
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1092
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1093
<tr valign="top"><td>
1094
<h3><span class="sig"><span class="sig-name">_handle_configspec</span>(<span class="sig-arg">self</span>,
1095
<span class="sig-arg">configspec</span>)</span>
1097
</td><td align="right" valign="top"
1098
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_configspec">source code</a></span> </span
1102
Parse the configspec.
1107
<a name="_set_configspec_value"></a>
1108
<div class="private">
1109
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1110
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1111
<tr valign="top"><td>
1112
<h3><span class="sig"><span class="sig-name">_set_configspec_value</span>(<span class="sig-arg">self</span>,
1113
<span class="sig-arg">configspec</span>,
1114
<span class="sig-arg">section</span>)</span>
1116
</td><td align="right" valign="top"
1117
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._set_configspec_value">source code</a></span> </span
1121
Used to recursively set configspec values.
1126
<a name="_handle_repeat"></a>
1127
<div class="private">
1128
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1129
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1130
<tr valign="top"><td>
1131
<h3><span class="sig"><span class="sig-name">_handle_repeat</span>(<span class="sig-arg">self</span>,
1132
<span class="sig-arg">section</span>,
1133
<span class="sig-arg">configspec</span>)</span>
1135
</td><td align="right" valign="top"
1136
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_repeat">source code</a></span> </span
1140
Dynamically assign configspec for repeated section.
1145
<a name="_write_line"></a>
1146
<div class="private">
1147
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1148
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1149
<tr valign="top"><td>
1150
<h3><span class="sig"><span class="sig-name">_write_line</span>(<span class="sig-arg">self</span>,
1151
<span class="sig-arg">indent_string</span>,
1152
<span class="sig-arg">entry</span>,
1153
<span class="sig-arg">this_entry</span>,
1154
<span class="sig-arg">comment</span>)</span>
1156
</td><td align="right" valign="top"
1157
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._write_line">source code</a></span> </span
1161
Write an individual line, for the write method
1166
<a name="_write_marker"></a>
1167
<div class="private">
1168
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1169
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1170
<tr valign="top"><td>
1171
<h3><span class="sig"><span class="sig-name">_write_marker</span>(<span class="sig-arg">self</span>,
1172
<span class="sig-arg">indent_string</span>,
1173
<span class="sig-arg">depth</span>,
1174
<span class="sig-arg">entry</span>,
1175
<span class="sig-arg">comment</span>)</span>
1177
</td><td align="right" valign="top"
1178
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._write_marker">source code</a></span> </span
1182
Write a section marker line
1187
<a name="_handle_comment"></a>
1188
<div class="private">
1189
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1190
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1191
<tr valign="top"><td>
1192
<h3><span class="sig"><span class="sig-name">_handle_comment</span>(<span class="sig-arg">self</span>,
1193
<span class="sig-arg">comment</span>)</span>
1195
</td><td align="right" valign="top"
1196
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._handle_comment">source code</a></span> </span
1200
Deal with a comment.
1205
<a name="_compute_indent_string"></a>
1206
<div class="private">
1207
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1208
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1209
<tr valign="top"><td>
1210
<h3><span class="sig"><span class="sig-name">_compute_indent_string</span>(<span class="sig-arg">self</span>,
1211
<span class="sig-arg">depth</span>)</span>
1213
</td><td align="right" valign="top"
1214
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj._compute_indent_string">source code</a></span> </span
1218
Compute the indent string, according to current indent_type and depth
1223
<a name="write"></a>
1225
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1226
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1227
<tr valign="top"><td>
1228
<h3><span class="sig"><span class="sig-name">write</span>(<span class="sig-arg">self</span>,
1229
<span class="sig-arg">outfile</span>=<span class="sig-default">None</span>,
1230
<span class="sig-arg">section</span>=<span class="sig-default">None</span>)</span>
1232
</td><td align="right" valign="top"
1233
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj.write">source code</a></span> </span
1237
<p>Write the current ConfigObj as a file</p>
1238
<p>tekNico: FIXME: use StringIO instead of real files</p>
1239
<pre class="doctest-block">
1240
>>> filename = a.filename
1241
>>> a.filename = 'test.ini'
1242
>>> a.write()
1243
>>> a.filename = filename
1244
>>> a == ConfigObj('test.ini', raise_errors=True)
1251
<a name="validate"></a>
1253
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
1254
<table width="100%" cellpadding="0" cellspacing="0" border="0">
1255
<tr valign="top"><td>
1256
<h3><span class="sig"><span class="sig-name">validate</span>(<span class="sig-arg">self</span>,
1257
<span class="sig-arg">validator</span>,
1258
<span class="sig-arg">preserve_errors</span>=<span class="sig-default">False</span>,
1259
<span class="sig-arg">copy</span>=<span class="sig-default">False</span>,
1260
<span class="sig-arg">section</span>=<span class="sig-default">None</span>)</span>
1262
</td><td align="right" valign="top"
1263
><span class="codelink"><a href="pythonutils.configobj-pysrc.html#ConfigObj.validate">source code</a></span> </span
1267
<p>Test the ConfigObj against a configspec.</p>
1268
<p>It uses the <tt class="docutils literal"><span class="pre">validator</span></tt> object from <em>validate.py</em>.</p>
1269
<p>To run <tt class="docutils literal"><span class="pre">validate</span></tt> on the current ConfigObj, call:</p>
1270
<pre class="literal-block">
1271
test = config.validate(validator)
1273
<p>(Normally having previously passed in the configspec when the ConfigObj
1274
was created - you can dynamically assign a dictionary of checks to the
1275
<tt class="docutils literal"><span class="pre">configspec</span></tt> attribute of a section though).</p>
1276
<p>It returns <tt class="docutils literal"><span class="pre">True</span></tt> if everything passes, or a dictionary of
1277
pass/fails (True/False). If every member of a subsection passes, it
1278
will just have the value <tt class="docutils literal"><span class="pre">True</span></tt>. (It also returns <tt class="docutils literal"><span class="pre">False</span></tt> if all
1280
<p>In addition, it converts the values from strings to their native
1281
types if their checks pass (and <tt class="docutils literal"><span class="pre">stringify</span></tt> is set).</p>
1282
<p>If <tt class="docutils literal"><span class="pre">preserve_errors</span></tt> is <tt class="docutils literal"><span class="pre">True</span></tt> (<tt class="docutils literal"><span class="pre">False</span></tt> is default) then instead
1283
of a marking a fail with a <tt class="docutils literal"><span class="pre">False</span></tt>, it will preserve the actual
1284
exception object. This can contain info about the reason for failure.
1285
For example the <tt class="docutils literal"><span class="pre">VdtValueTooSmallError</span></tt> indeicates that the value
1286
supplied was too small. If a value (or section) is missing it will
1287
still be marked as <tt class="docutils literal"><span class="pre">False</span></tt>.</p>
1288
<p>You must have the validate module to use <tt class="docutils literal"><span class="pre">preserve_errors=True</span></tt>.</p>
1289
<p>You can then use the <tt class="docutils literal"><span class="pre">flatten_errors</span></tt> function to turn your nested
1290
results dictionary into a flattened list of failures - useful for
1291
displaying meaningful error messages.</p>
1297
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
1298
<a name="section-ClassVariableDetails"></a>
1299
<table class="details" border="1" cellpadding="3"
1300
cellspacing="0" width="100%" bgcolor="white">
1301
<tr bgcolor="#70b0f0" class="details">
1303
<table border="0" cellpadding="0" cellspacing="0" width="100%">
1305
<th align="left" class="details">Class Variable Details</th>
1306
<td align="right" valign="top"
1307
><span class="options">[<a href="#section-ClassVariableDetails"
1308
class="privatelink" onclick="toggle_private();"
1309
>hide private</a>]</span></td>
1315
<a name="_keyword"></a>
1316
<div class="private">
1317
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1321
<dl title="<_sre.SRE_Pattern object at 0x01F20D68>"><dt>Value:</dt>
1322
<dd><table><tr><td><pre class="variable">
1323
<span class="re"><span class="re-char">^</span><span class="re-group">(</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-group">(</span><span class="re-group">(?:</span>"<span class="re-char">.</span><span class="re-op">*?</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">.</span><span class="re-op">*?</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'"=<span class="re-group">]</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span>=<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-char">$</span></span>
1324
</pre></td></tr></table></dd>
1329
<a name="_sectionmarker"></a>
1330
<div class="private">
1331
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1332
<h3>_sectionmarker</h3>
1335
<dl title="<_sre.SRE_Pattern object at 0x00BDC318>"><dt>Value:</dt>
1336
<dd><table><tr><td><pre class="variable">
1337
<span class="re"><span class="re-char">^</span><span class="re-group">(</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-group">(</span><span class="re-group">(?:</span><span class="re-char">\[</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">+</span><span class="re-group">)</span><span class="re-group">(</span><span class="re-group">(?:</span>"<span class="re-char">\s</span><span class="re-op">*</span><span class="re-char">\S</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-char">\s</span><span class="re-op">*</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">\s</span><span class="re-op">*</span><span class="re-char">\S</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-char">\s</span><span class="re-op">*</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'"<span class="re-char">\s</span><span class="re-group">]</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-group">)<span class="variable-linewrap">\</span>
1338
</span><span class="re-group">(</span><span class="re-group">(?:</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-char">\]</span><span class="re-group">)</span><span class="re-op">+</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1339
</pre></td></tr></table></dd>
1344
<a name="_valueexp"></a>
1345
<div class="private">
1346
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1350
<dl title="<_sre.SRE_Pattern object at 0x01F20958>"><dt>Value:</dt>
1351
<dd><table><tr><td><pre class="variable">
1352
<span class="re"><span class="re-char">^</span><span class="re-group">(?:</span><span class="re-group">(?:</span><span class="re-group">(</span><span class="re-group">(?:</span><span class="re-group">(?:</span><span class="re-group">(?:</span>"<span class="re-char">.</span><span class="re-op">*?</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">.</span><span class="re-op">*?</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'",#<span class="re-group">]</span><span class="re-group">[</span><span class="re-group">^</span>,#<span class="re-group">]</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span>,<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-group">(</span><span class="re-group">(?:</span>"<span class="re-char">.</span><span class="re-op">*<span class="variable-linewrap">\</span>
1353
?</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">.</span><span class="re-op">*?</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'",#<span class="re-char">\s</span><span class="re-group">]</span><span class="re-group">[^</span>,<span class="re-group">]</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">(?!</span>,<span class="re-group">)</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(</span>,<span class="re-group">)</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1354
</pre></td></tr></table></dd>
1359
<a name="_listvalueexp"></a>
1360
<div class="private">
1361
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1362
<h3>_listvalueexp</h3>
1365
<dl title="<_sre.SRE_Pattern object at 0x01E1BAA0>"><dt>Value:</dt>
1366
<dd><table><tr><td><pre class="variable">
1367
<span class="re"><span class="re-group">(</span><span class="re-group">(?:</span>"<span class="re-char">.</span><span class="re-op">*?</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">.</span><span class="re-op">*?</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'",#<span class="re-group">]</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span>,<span class="re-char">\s</span><span class="re-op">*</span></span>
1368
</pre></td></tr></table></dd>
1373
<a name="_nolistvalue"></a>
1374
<div class="private">
1375
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1376
<h3>_nolistvalue</h3>
1379
<dl title="<_sre.SRE_Pattern object at 0x01E87380>"><dt>Value:</dt>
1380
<dd><table><tr><td><pre class="variable">
1381
<span class="re"><span class="re-char">^</span><span class="re-group">(</span><span class="re-group">(?:</span>"<span class="re-char">.</span><span class="re-op">*?</span>"<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span>'<span class="re-char">.</span><span class="re-op">*?</span>'<span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">[</span><span class="re-group">^</span>'"#<span class="re-group">]</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span><span class="re-op">|</span><span class="re-group">(?:</span><span class="re-group">)</span><span class="re-group">)</span><span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1382
</pre></td></tr></table></dd>
1387
<a name="_single_line_single"></a>
1388
<div class="private">
1389
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1390
<h3>_single_line_single</h3>
1393
<dl title="<_sre.SRE_Pattern object at 0x01EDA608>"><dt>Value:</dt>
1394
<dd><table><tr><td><pre class="variable">
1395
<span class="re"><span class="re-char">^</span>'''<span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span>'''<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1396
</pre></td></tr></table></dd>
1401
<a name="_single_line_double"></a>
1402
<div class="private">
1403
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1404
<h3>_single_line_double</h3>
1407
<dl title="<_sre.SRE_Pattern object at 0x01EDA6B0>"><dt>Value:</dt>
1408
<dd><table><tr><td><pre class="variable">
1409
<span class="re"><span class="re-char">^</span>"""<span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span>"""<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1410
</pre></td></tr></table></dd>
1415
<a name="_multi_line_single"></a>
1416
<div class="private">
1417
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1418
<h3>_multi_line_single</h3>
1421
<dl title="<_sre.SRE_Pattern object at 0x01E61D30>"><dt>Value:</dt>
1422
<dd><table><tr><td><pre class="variable">
1423
<span class="re"><span class="re-char">^</span><span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span>'''<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1424
</pre></td></tr></table></dd>
1429
<a name="_multi_line_double"></a>
1430
<div class="private">
1431
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1432
<h3>_multi_line_double</h3>
1435
<dl title="<_sre.SRE_Pattern object at 0x01F34020>"><dt>Value:</dt>
1436
<dd><table><tr><td><pre class="variable">
1437
<span class="re"><span class="re-char">^</span><span class="re-group">(</span><span class="re-char">.</span><span class="re-op">*?</span><span class="re-group">)</span>"""<span class="re-char">\s</span><span class="re-op">*</span><span class="re-group">(</span>#<span class="re-char">.</span><span class="re-op">*</span><span class="re-group">)</span><span class="re-op">?</span><span class="re-char">$</span></span>
1438
</pre></td></tr></table></dd>
1443
<a name="_triple_quote"></a>
1444
<div class="private">
1445
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1446
<h3>_triple_quote</h3>
1449
<dl title="{"'''": (<_sre.SRE_Pattern object at 0x01EDA608>, <_sre.SRE_Pattern object at 0x01E61D30>), '"""': (<_sre.SRE_Pattern object at 0x01EDA6B0>, <_sre.SRE_Pattern object at 0x01F34020>)}"><dt>Value:</dt>
1450
<dd><table><tr><td><pre class="variable">
1451
{'"""': (<_sre.SRE_Pattern object at 0x01EDA6B0>,
1452
<_sre.SRE_Pattern object at 0x01F34020>),
1453
"'''": (<_sre.SRE_Pattern object at 0x01EDA608>,
1454
<_sre.SRE_Pattern object at 0x01E61D30>)}
1455
</pre></td></tr></table></dd>
1460
<a name="_bools"></a>
1461
<div class="private">
1462
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
1466
<dl title="{'on': True, 'off': False, 'no': False, '1': True, '0': False, 'false': False, 'yes': True, 'true': True}"><dt>Value:</dt>
1467
<dd><table><tr><td><pre class="variable">
1476
</pre></td></tr></table></dd>
1482
<!-- ==================== NAVIGATION BAR ==================== -->
1483
<table class="navbar" border="0" width="100%" cellpadding="0"
1484
bgcolor="#a0c0ff" cellspacing="0">
1485
<tr valign="middle">
1487
<th class="navbar"> <a class="navbar"
1488
href="pythonutils.configobj-module.html">Home</a> </th>
1491
<th class="navbar"> <a class="navbar"
1492
href="trees.html">Trees</a> </th>
1495
<th class="navbar"> <a class="navbar"
1496
href="indices.html">Index</a> </th>
1499
<th class="navbar"> <a class="navbar"
1500
href="help.html">Help</a> </th>
1502
<!-- Project homepage -->
1503
<th class="navbar" align="right" width="100%">
1504
<table border="0" cellpadding="0" cellspacing="0">
1505
<tr><th class="navbar" align="center">
1506
<p class="nomargin">
1507
<a class="navbar" target="_top" href="http://www.voidspace.org.uk/python/configobj.html">ConfigObj</a>
1508
</p></th></tr></table></th>
1511
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
1513
<td align="left" class="footer">Generated by Epydoc
1514
3.0alpha2 on Sat Apr 29 11:33:52 2006</td>
1515
<td align="right" class="footer">
1516
<a href="http://epydoc.sourceforge.net">http://epydoc.sf.net</a>
1521
<script type="text/javascript">
1523
// Private objects are initially displayed (because if
1524
// javascript is turned off then we want them to be
1525
// visible); but by default, we want to hide them. So hide
1526
// them unless we have a cookie that says to show them.