def __init__(self, pool, module, module_state):
"Register known taghandlers, and managed tags."
sax.handler.ContentHandler.__init__(self)
self.pool = pool
self.module = module
self.ModelData = pool.get('ir.model.data')
self.fs2db = Fs2bdAccessor(self.ModelData, pool)
self.to_delete = self.populate_to_delete()
self.noupdate = None
self.module_state = module_state
self.grouped = None
self.grouped_creations = defaultdict(dict)
self.grouped_write = defaultdict(list)
self.grouped_model_data = []
self.skip_data = False
Module = pool.get('ir.module')
self.installed_modules = [m.name for m in Module.search([
('state', 'in', ['installed', 'to upgrade']),
])]
# Tag handlders are used to delegate the processing
self.taghandlerlist = {
'record': RecordTagHandler(self),
'menuitem': MenuitemTagHandler(self),
}
self.taghandler = None
# Managed tags are handled by the current class
self.managedtags = ["data", "tryton"]
# Connect to the sax api:
self.sax_parser = sax.make_parser()
# Tell the parser we are not interested in XML namespaces
self.sax_parser.setFeature(sax.handler.feature_namespaces, 0)
self.sax_parser.setContentHandler(self)
评论列表
文章目录