#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
# end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read("multisection.ini")

SECTIONS = ["wiki", "none"]
OPTIONS = ["username", "password", "url", "description"]

for section in SECTIONS:
    has_section = parser.has_section(section)
    print "%s section exists: %s" % (section, has_section)
    for candidate in OPTIONS:
        has_option = parser.has_option(section, candidate)
        print "%s.%-12s  : %s" % (section, candidate, has_option)
    print
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

import glob
from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()

candidates = ['does_not_exist.ini', 'also-does-not-exist.ini',
              'simple.ini', 'multisection.ini',
              ]

found = parser.read(candidates)

missing = set(candidates) - set(found)

print 'Found config files:', sorted(found)
print 'Missing files     :', sorted(missing)





#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('multisection.ini')

for section_name in parser.sections():
    print 'Section:', section_name
    print '  Options:', parser.options(section_name)
    for name, value in parser.items(section_name):
        print '  %s = %s' % (name, value)
    print
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('simple.ini')

print parser.get('bug_tracker', 'url')



#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

import codecs
from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()

# Open the file with the correct encoding
with codecs.open('unicode.ini', 'r', encoding='utf-8') as f:
    parser.readfp(f)

password = parser.get('bug_tracker', 'password')

print 'Password:'******'utf-8')
print 'Type    :', type(password)
print 'repr()  :', repr(password)
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
# end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read("interpolation.ini")

print "Original value       :", parser.get("bug_tracker", "url")

parser.set("bug_tracker", "port", "9090")
print "Altered port value   :", parser.get("bug_tracker", "url")

print "Without interpolation:", parser.get("bug_tracker", "url", raw=True)
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('multisection.ini')

print 'Read values:\n'
for section in parser.sections():
    print section
    for name, value in parser.items(section):
        print '  %s = %r' % (name, value)

parser.remove_option('bug_tracker', 'password')
parser.remove_section('wiki')
        
print '\nModified values:\n'
for section in parser.sections():
    print section
    for name, value in parser.items(section):
        print '  %s = %r' % (name, value)
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
# end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read("interpolation_defaults.ini")

print "URL:", parser.get("bug_tracker", "url")
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
#end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read('multisection.ini')

for candidate in [ 'wiki', 'bug_tracker', 'dvcs' ]:
    print '%-12s: %s' % (candidate, parser.has_section(candidate))
#!/usr/bin/env python
# encoding: utf-8
#
# Copyright (c) 2010 Doug Hellmann.  All rights reserved.
#
"""Reading a configuration file.
"""
# end_pymotw_header

from network_programming.ConfigParser import SafeConfigParser

parser = SafeConfigParser()
parser.read("types.ini")

print "Integers:"
for name in parser.options("ints"):
    string_value = parser.get("ints", name)
    value = parser.getint("ints", name)
    print "  %-12s : %-7r -> %d" % (name, string_value, value)

print "\nFloats:"
for name in parser.options("floats"):
    string_value = parser.get("floats", name)
    value = parser.getfloat("floats", name)
    print "  %-12s : %-7r -> %0.2f" % (name, string_value, value)

print "\nBooleans:"
for name in parser.options("booleans"):
    string_value = parser.get("booleans", name)
    value = parser.getboolean("booleans", name)
    print "  %-12s : %-7r -> %s" % (name, string_value, value)