xref: /third_party/python/Lib/test/cfgparser.3 (revision 7db96d56)
17db96d56Sopenharmony_ci  # INI with as many tricky parts as possible
27db96d56Sopenharmony_ci  # Most of them could not be used before 3.2
37db96d56Sopenharmony_ci     
47db96d56Sopenharmony_ci  # This will be parsed with the following options
57db96d56Sopenharmony_ci    # delimiters = {'='}
67db96d56Sopenharmony_ci    # comment_prefixes = {'#'}
77db96d56Sopenharmony_ci    # allow_no_value = True
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ci[DEFAULT]
107db96d56Sopenharmony_cigo = %(interpolate)s
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ci[strange]
137db96d56Sopenharmony_ci  values = that are indented # and end with hash comments
147db96d56Sopenharmony_ci  other = that do continue
157db96d56Sopenharmony_ci    in     # and still have
167db96d56Sopenharmony_ci    other  # comments mixed
177db96d56Sopenharmony_ci    lines  # with the values
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ci
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ci[corruption]
247db96d56Sopenharmony_ci  value = that is 
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci    actually still here
287db96d56Sopenharmony_ci
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci      and holds all these weird newlines
317db96d56Sopenharmony_ci
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ci        # but not for the lines that are comments
347db96d56Sopenharmony_ci        nor the indentation
357db96d56Sopenharmony_ci
367db96d56Sopenharmony_ci  another value = # empty string
377db96d56Sopenharmony_ci  yet another # None!
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ci  [yeah, sections can be indented as well]
407db96d56Sopenharmony_ci  and that does not mean = anything
417db96d56Sopenharmony_ci  are they subsections = False
427db96d56Sopenharmony_ci  if you want subsections = use XML
437db96d56Sopenharmony_ci  lets use some Unicode = 片仮名
447db96d56Sopenharmony_ci
457db96d56Sopenharmony_ci  [another one!]
467db96d56Sopenharmony_ci even if values are indented like this = seriously
477db96d56Sopenharmony_ciyes, this still applies to = section "another one!"
487db96d56Sopenharmony_cithis too = are there people with configurations broken as this? 
497db96d56Sopenharmony_ci beware, this is going to be a continuation
507db96d56Sopenharmony_ci of the value for
517db96d56Sopenharmony_ci key "this too"
527db96d56Sopenharmony_ci even if it has a = character
537db96d56Sopenharmony_ci this is still the continuation
547db96d56Sopenharmony_ci your editor probably highlights it wrong
557db96d56Sopenharmony_ci but that's life
567db96d56Sopenharmony_ci# let's set this value so there is no error
577db96d56Sopenharmony_ci# when getting all items for this section:
587db96d56Sopenharmony_ciinterpolate = anything will do
597db96d56Sopenharmony_ci
607db96d56Sopenharmony_ci[no values here]
617db96d56Sopenharmony_ci# but there's this `go` in DEFAULT
627db96d56Sopenharmony_ci
637db96d56Sopenharmony_ci    [tricky interpolation]
647db96d56Sopenharmony_ci      interpolate = do this
657db96d56Sopenharmony_ci      lets = %(go)s
667db96d56Sopenharmony_ci      
677db96d56Sopenharmony_ci    [more interpolation]
687db96d56Sopenharmony_ci      interpolate = go shopping
697db96d56Sopenharmony_ci      lets = %(go)s
70