elif not self.has_section(section):
return 0
else:
+ option = self.optionxform(option)
return self.__sections[section].has_key(option)
def set(self, section, option, value):
sectdict = self.__sections[section]
except KeyError:
raise NoSectionError(section)
+ option = self.optionxform(option)
sectdict[option] = value
def write(self, fp):
sectdict = self.__sections[section]
except KeyError:
raise NoSectionError(section)
+ option = self.optionxform(option)
existed = sectdict.has_key(option)
if existed:
del sectdict[option]
" that never existed")
+def case_sensitivity():
+ print "Testing case sensitivity..."
+ cf = ConfigParser.ConfigParser()
+ cf.add_section("A")
+ cf.add_section("a")
+ L = cf.sections()
+ L.sort()
+ verify(L == ["A", "a"])
+ cf.set("a", "B", "value")
+ verify(cf.options("a") == ["b"])
+ verify(cf.get("a", "b", raw=1) == "value",
+ "could not locate option, expecting case-insensitive option names")
+ verify(cf.has_option("a", "b"))
+ cf.set("A", "A-B", "A-B value")
+ for opt in ("a-b", "A-b", "a-B", "A-B"):
+ verify(cf.has_option("A", opt),
+ "has_option() returned false for option which should exist")
+ verify(cf.options("A") == ["a-b"])
+ verify(cf.options("a") == ["b"])
+ cf.remove_option("a", "B")
+ verify(cf.options("a") == [])
+
+
def interpolation(src):
print "Testing value interpolation..."
cf = ConfigParser.ConfigParser({"getname": "%(__name__)s"})
foo[en]=English
foo[de]=Deutsch
""")
+case_sensitivity()
interpolation(r"""
[Foo]
bar=something %(with1)s interpolation (1 step)