This is thedailywtf material:

To write an xml file in tag order, autoxml implementation reads the .py source files,
parses them, puts the source code order to a list by looking at the written line orders
of the members.

This perfect implementation blows reload logic.

Seen when a new class (class Obsolete) added.
This commit is contained in:
Faik Uygur
2007-02-15 13:20:02 +00:00
parent 787e5ecf0b
commit a9e1ad10ce
+12 -6
View File
@@ -268,16 +268,22 @@ class autoxml(oo.autosuper, oo.autoprop):
errorss = [] errorss = []
formatters = [] formatters = []
# FIXME: What is this? Remove this crap and try to fix autoxml, if can not be fixed then
# really throw whole autoxml to junk. But not this.
# read declaration order from source # read declaration order from source
# code contributed by bahadir kandemir # code contributed by bahadir kandemir
from inspect import getsourcelines try:
from itertools import ifilter from inspect import getsourcelines
import re from itertools import ifilter
import re
fn = re.compile('\s*([tas]_[a-zA-Z]+).*').findall fn = re.compile('\s*([tas]_[a-zA-Z]+).*').findall
lines = filter(fn, getsourcelines(cls)[0]) lines = filter(fn, getsourcelines(cls)[0])
decl_order = map(lambda x:x.split()[0], lines) decl_order = map(lambda x:x.split()[0], lines)
except IOError:
decl_order = dict.keys()
# there should be at most one str member, and it should be # there should be at most one str member, and it should be
# the first to process # the first to process