Make inheritance be done in the __init__ function

This commit is contained in:
Cédric Krier committed 2008-01-09 23:51:25 +01:00
1 parent 4c27c179dc
commit a49da4d222
2 files changed
+2 -27

No files matched your search

+1 -15
View File
@@ -172,21 +172,7 @@ class OSV(ORM):
"""
if pool.get(cls._name):
parent_class = pool.get(cls._name).__class__
nattr = {}
for i in (
'_columns',
'_defaults',
'_inherits',
'_constraints',
'_sql_constraints',
):
new = copy.copy(getattr(pool.get(cls._name), i))
if hasattr(new, 'update'):
new.update(cls.__dict__.get(i, {}))
else:
new.extend(cls.__dict__.get(i, []))
nattr[i] = new
cls = type(cls._name, (cls, parent_class), nattr)
cls = type(cls._name, (cls, parent_class), {})
obj = object.__new__(cls)
obj.__init__(pool)
+1 -12
View File
@@ -116,18 +116,7 @@ class Wizard(object):
"""
if pool.get(cls._name):
parent_class = pool.get(cls._name).__class__
new_states = copy.copy(getattr(pool.get(cls._name), 'states'))
for i in (
'actions',
'result',
):
new = copy.copy(getattr(new_states, i))
if hasattr(new, 'update'):
new.update(cls.__dict__.get(i, {}))
else:
new.extend(cls.__dict__.get(i, []))
new_states[i] = new
cls = type(cls._name, (cls, parent_class), {'states': new_states})
cls = type(cls._name, (cls, parent_class), {})
obj = object.__new__(cls)
obj.__init__(pool, pool_obj)