24 self.name = name |
26 self.name = name |
25 self.default = default |
27 self.default = default |
26 |
28 |
27 coreitems = {} |
29 coreitems = {} |
28 |
30 |
29 def coreconfigitem(*args, **kwargs): |
31 def _register(configtable, *args, **kwargs): |
30 item = configitem(*args, **kwargs) |
32 item = configitem(*args, **kwargs) |
31 section = coreitems.setdefault(item.section, {}) |
33 section = configtable.setdefault(item.section, {}) |
32 if item.name in section: |
34 if item.name in section: |
33 msg = "duplicated config item registration for '%s.%s'" |
35 msg = "duplicated config item registration for '%s.%s'" |
34 raise error.ProgrammingError(msg % (item.section, item.name)) |
36 raise error.ProgrammingError(msg % (item.section, item.name)) |
35 section[item.name] = item |
37 section[item.name] = item |
36 |
38 |
37 # Registering actual config items |
39 # Registering actual config items |
|
40 |
|
41 def getitemregister(configtable): |
|
42 return functools.partial(_register, configtable) |
|
43 |
|
44 coreconfigitem = getitemregister(coreitems) |
38 |
45 |
39 coreconfigitem('patch', 'fuzz', |
46 coreconfigitem('patch', 'fuzz', |
40 default=2, |
47 default=2, |
41 ) |
48 ) |
42 coreconfigitem('ui', 'clonebundleprefers', |
49 coreconfigitem('ui', 'clonebundleprefers', |