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
+6
View File
@@ -268,8 +268,12 @@ class autoxml(oo.autosuper, oo.autoprop):
errorss = []
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
# code contributed by bahadir kandemir
try:
from inspect import getsourcelines
from itertools import ifilter
import re
@@ -278,6 +282,8 @@ class autoxml(oo.autosuper, oo.autoprop):
lines = filter(fn, getsourcelines(cls)[0])
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
# the first to process