new class-instance is not getting initialized
Axel Straschil
axel at pizza.home.kosnet.com
Sat Mar 15 17:52:04 EST 2003
Hi!
Im writing a couple of classes to create html-code. There is on funny thing:
If I'm creating two instances of an class, it looks like the second is
ist a pointer to the first one!
If I do:
print input_text(size=1).get()
print input_text().get()
I get:
<input size="1" type="text" />
<input size="1" type="text" />
where I expect:
<input size="1" type="text" />
<input type="text" />
I've got realy no idea why!?
The exampe-code ist (sorry for that long code-posting):
class _flags:
def __init__(self, flags=[]):
self.flags = flags
def setFlag(self, flag):
if (self.flags.count(flag)==0):
self.flags.append(flag)
def delFlag(self, flag):
while (self.flags.count(flag)>0):
self.flags.remove(flag)
def getFlags(self):
s=''
for f in self.flags:
s = s + " %s=\"%s\""%(f, f)
return s
class _properties:
def __init__(self, props={}):
self.props = props
def setProp(self, prop, value):
self.props[prop] = value
def getProp(self, prop):
return self.props[prop]
def delProp(self, prop):
del self.props[prop]
def getProps(self):
s=''
for p, v in self.props.items():
s = s + " %s=\"%s\""%(p, v)
return s
class _tag(_flags, _properties):
def __init__(self, tag, flags=[], props={}, Class=None):
_flags.__init__(self, flags=flags)
_properties.__init__(self, props=props)
self.tag = tag
if Class is not None:
self.setProp(prop='class', value=Class)
def tagLget(self):
return "<%s%s%s>"%(self.tag, self.getFlags(), self.getProps())
def tagRget(self):
return "</%s>"%(self.tag)
def tagSget(self):
return "<%s%s%s />"%(self.tag, self.getFlags(), self.getProps())
def get(self):
return "%s" % self.tagSget()
class _tag_content(_tag):
def __init__(self, tag, content=None, flags=[], props={}, Class=None):
_tag.__init__(self, tag=tag, flags=flags, props=props, Class=Class)
if content is None:
content=''
self.content = content
def add(self, content):
self.content = self.content + content
def set(self, content):
self.content = content
def get(self):
return "%s%s%s" % (_tag.tagLget(self), self.content, _tag.tagRget(self))
class input(_tag):
def __init__(self, type=None, name=None, value=None, size=None, flags=[],
props={}, Class=None):
_tag.__init__(self, 'input', flags=flags, props=props, Class=Class)
if not type is None:
self.setProp('type', type)
if not name is None:
self.setProp('name', name)
if not value is None:
self.setProp('value', value)
if not size is None:
self.setProp('size', size)
class input_text(input):
def __init__(self, name=None, value=None, size=None, flags=[], props={},
Class=None):
input.__init__(self, 'text', name=name, value=value, size=size,
flags=flags, props=props, Class=Class)
print input_text(size=1).get()
print input_text().get()
Thanks,
AXEL.
More information about the Python-list
mailing list