Source code for anyblok_io.bloks.io_xml.exporter

# This file is a part of the AnyBlok project
#
#    Copyright (C) 2015 Jean-Sebastien SUZANNE <jssuzanne@anybox.fr>
#
# This Source Code Form is subject to the terms of the Mozilla Public License,
# v. 2.0. If a copy of the MPL was not distributed with this file,You can
# obtain one at http://mozilla.org/MPL/2.0/.
from anyblok import Declarations

register = Declarations.register
IO = Declarations.Model.IO


[docs]@register(IO) class Exporter: @classmethod def get_mode_choices(cls): res = super(Exporter, cls).get_mode_choices() res.update({"Model.IO.Exporter.XML": "XML"}) return res
[docs]@register(IO.Exporter) class XML: def __init__(self, exporter): self.exporter = exporter @classmethod def insert(cls, delimiter=None, quotechar=None, fields=None, **kwargs): kwargs["mode"] = cls.__registry_name__ if "model" in kwargs: if not isinstance(kwargs["model"], str): kwargs["model"] = kwargs["model"].__registry_name__ return cls.anyblok.IO.Exporter.insert(**kwargs) def run(self, entries): raise NotImplementedError