diff --git a/rattail_harvest/importing/versions.py b/rattail_harvest/importing/versions.py new file mode 100644 index 0000000..3dd5571 --- /dev/null +++ b/rattail_harvest/importing/versions.py @@ -0,0 +1,73 @@ +# -*- coding: utf-8; -*- +################################################################################ +# +# Rattail -- Retail Software Framework +# Copyright © 2010-2022 Lance Edgar +# +# This file is part of Rattail. +# +# Rattail is free software: you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. +# +# Rattail is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +# details. +# +# You should have received a copy of the GNU General Public License along with +# Rattail. If not, see . +# +################################################################################ +""" +Rattail -> Rattail "versions" data import +""" + +from rattail.importing import versions as base + + +class HarvestVersionMixin(object): + + def add_harvest_importers(self, importers): + importers['HarvestUser'] = HarvestUserImporter + importers['HarvestClient'] = HarvestClientImporter + importers['HarvestProject'] = HarvestProjectImporter + importers['HarvestTask'] = HarvestTaskImporter + importers['HarvestTimeEntry'] = HarvestTimeEntryImporter + return importers + + +class HarvestUserImporter(base.VersionImporter): + + @property + def host_model_class(self): + return self.model.HarvestUser + + +class HarvestClientImporter(base.VersionImporter): + + @property + def host_model_class(self): + return self.model.HarvestClient + + +class HarvestProjectImporter(base.VersionImporter): + + @property + def host_model_class(self): + return self.model.HarvestProject + + +class HarvestTaskImporter(base.VersionImporter): + + @property + def host_model_class(self): + return self.model.HarvestTask + + +class HarvestTimeEntryImporter(base.VersionImporter): + + @property + def host_model_class(self): + return self.model.HarvestTimeEntry