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
Copyright (C) 2012-2017 Edgewall Software