equal
deleted
inserted
replaced
116 |
116 |
117 if extension: |
117 if extension: |
118 f = extensions.setdefault(extension, {}) |
118 f = extensions.setdefault(extension, {}) |
119 else: |
119 else: |
120 f = fields |
120 f = fields |
|
121 |
|
122 log.debug("%s@%s: %s:%s.%s = %r", name, domain, extension, field, instance, value) |
121 |
123 |
122 if instance: |
124 if instance: |
123 if field not in f: |
125 if field not in f: |
124 f[field] = { } |
126 f[field] = { } |
125 elif not isinstance(f[field], dict): |
127 elif not isinstance(f[field], dict): |
126 # convert to dict |
128 # convert to dict |
127 f[field] = {None: f[field]} |
129 f[field] = {None: f[field]} |
128 |
130 |
129 f[field][instance] = value |
131 f[field][instance] = value |
|
132 elif field in f: |
|
133 f[field][None] = value |
130 else: |
134 else: |
131 f[field] = value |
135 f[field] = value |
132 |
136 |
133 return Host.build(name, domain, **fields) |
137 return Host.build(name, domain, **fields) |
134 |
138 |