Mercurial > hg > martINI
comparison martini/config.py @ 11:c77259f467a3
hopefully OrderedDict preservation actually works now
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Tue, 23 Aug 2016 18:17:11 -0700 |
| parents | 66d11212175d |
| children | 4faed08eb8d8 |
comparison
equal
deleted
inserted
replaced
| 10:66d11212175d | 11:c77259f467a3 |
|---|---|
| 24 # assume resource is already a file-like object | 24 # assume resource is already a file-like object |
| 25 return resource | 25 return resource |
| 26 | 26 |
| 27 if os.path.exists(resource): | 27 if os.path.exists(resource): |
| 28 return file(resource) | 28 return file(resource) |
| 29 if sum([resource.startswith(http) for http in 'http://', 'https://']): | 29 if sum([resource.startswith(http) |
| 30 for http in 'http://', 'https://']): | |
| 30 return urllib2.urlopen(resource) | 31 return urllib2.urlopen(resource) |
| 31 return StringIO(resource) | 32 return StringIO(resource) |
| 32 | 33 |
| 33 | 34 |
| 34 class ConfigMunger(ConfigParser): | 35 class ConfigMunger(ConfigParser): |
| 62 def move_section(self, section, newname): | 63 def move_section(self, section, newname): |
| 63 if self.has_section(section): | 64 if self.has_section(section): |
| 64 _section = self[section] | 65 _section = self[section] |
| 65 self.remove_section(section) | 66 self.remove_section(section) |
| 66 else: | 67 else: |
| 67 _section = {} | 68 _section = OrderedDict() |
| 68 self.read({newname: _section}) | 69 self.read(OrderedDict(newname=_section)) |
| 69 | 70 |
| 70 def dict(self): | 71 def dict(self): |
| 71 """return a dictionary of dictionaries; | 72 """ |
| 73 return a dictionary of dictionaries: | |
| 72 the outer with keys of section names; | 74 the outer with keys of section names; |
| 73 the inner with keys, values of the section""" | 75 the inner with keys, values of the section |
| 76 """ | |
| 74 return OrderedDict([(section, self[section]) | 77 return OrderedDict([(section, self[section]) |
| 75 for section in self.sections()]) | 78 for section in self.sections()]) |
| 76 | 79 |
| 77 def read(self, *ini): | 80 def read(self, *ini): |
| 78 for _ini in ini: | 81 for _ini in ini: |
