Mercurial > genshi > mirror
comparison genshi/builder.py @ 735:7e428b22dbaa trunk
Tweak to [854] to not change the ordering of attributes compared to how they were previously ordered, to avoid breaking any tests that rely on the order. See #216.
author | cmlenz |
---|---|
date | Thu, 05 Jun 2008 09:49:53 +0000 |
parents | 5e9d250ad3ad |
children | ca72e3dc443d |
comparison
equal
deleted
inserted
replaced
734:ea2566b2f226 | 735:7e428b22dbaa |
---|---|
150 """ | 150 """ |
151 return Stream(self._generate()) | 151 return Stream(self._generate()) |
152 | 152 |
153 | 153 |
154 def _kwargs_to_attrs(kwargs): | 154 def _kwargs_to_attrs(kwargs): |
155 retval = {} | 155 attrs = [] |
156 names = set() | |
156 for name, value in kwargs.items(): | 157 for name, value in kwargs.items(): |
157 name = name.rstrip('_').replace('_', '-') | 158 name = name.rstrip('_').replace('_', '-') |
158 if value is not None and name not in retval: | 159 if value is not None and name not in names: |
159 retval[QName(name)] = unicode(value) | 160 attrs.append((QName(name), unicode(value))) |
160 return Attrs(retval.items()) | 161 names.add(name) |
162 return Attrs(attrs) | |
161 | 163 |
162 | 164 |
163 class Element(Fragment): | 165 class Element(Fragment): |
164 """Simple XML output generator based on the builder pattern. | 166 """Simple XML output generator based on the builder pattern. |
165 | 167 |