[kernel] r18497 - dists/trunk/linux-2.6/debian/lib/python/debian_linux
Bastian Blank
waldi at alioth.debian.org
Wed Jan 11 20:32:07 UTC 2012
Author: waldi
Date: Wed Jan 11 20:32:03 2012
New Revision: 18497
Log:
debian/lib/python/debian_linux/config.py
- Remove unneeded classes.
- Use pickle for config dump.
Modified:
dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py
Modified: dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py
==============================================================================
--- dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py Wed Jan 11 20:19:22 2012 (r18496)
+++ dists/trunk/linux-2.6/debian/lib/python/debian_linux/config.py Wed Jan 11 20:32:03 2012 (r18497)
@@ -3,6 +3,7 @@
import re
import sys
import textwrap
+import cPickle
__all__ = [
'ConfigCoreDump',
@@ -77,16 +78,7 @@
return ret
def dump(self, fp):
- sections = self.keys()
- sections.sort()
- for section in sections:
- fp.write('[%r]\n' % (section,))
- items = self[section]
- items_keys = items.keys()
- items_keys.sort()
- for item in items:
- fp.write('%s: %r\n' % (item, items[item]))
- fp.write('\n')
+ cPickle.dump(self, fp, -1)
class ConfigCoreDump(ConfigCore):
@@ -252,33 +244,30 @@
data = {}
for key, value in self._config.items(section):
data[key] = value
- s1 = section.split('_')
- if s1[-1] in self.schemas:
- ret[tuple(s1)] = self.SectionSchema(data, self.schemas[s1[-1]])
+ section_list = section.split('_')
+ section_base = section_list[-1]
+ if section_base in self.schemas:
+ section_ret = tuple(section_list)
+ data = self._convert_one(self.schemas[section_base], data)
else:
- ret[(section,)] = self.Section(data)
+ section_ret = (section, )
+ ret[section_ret] = data
return ret
+ def _convert_one(self, schema, data):
+ ret = {}
+ for key, value in data.iteritems():
+ if key in schema:
+ value = schema[key](value)
+ ret[key] = value
+ return ret
+
def keys(self):
return self._convert().keys()
def read(self, data):
return self._config.read(data)
- class Section(dict):
- def __init__(self, data):
- super(ConfigParser.Section, self).__init__(data)
-
- class SectionSchema(Section):
- __slots__ = ()
-
- def __init__(self, data, schema):
- for key in data.keys():
- try:
- data[key] = schema[key](data[key])
- except KeyError:
- pass
- super(ConfigParser.SectionSchema, self).__init__(data)
if __name__ == '__main__':
import sys
More information about the Kernel-svn-changes
mailing list