diff options
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index b8626358c..3d47ba263 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -1438,6 +1438,36 @@ def convert_geom(feature, srid): return feature +class ImportChunk(models.Model): + """ + Import chunk from QGIS plugin. + When all chunk have been collected Import is created. + """ + importer = models.ForeignKey("ImporterType", verbose_name=_("Importer"), + on_delete=models.CASCADE) + user = models.ForeignKey("IshtarUser", verbose_name=_("User"), + on_delete=models.CASCADE) + send_datetime = models.DateTimeField(_("Send date")) + chunk = models.TextField(_("Chunk")) + number = models.IntegerField(_("Number")) + total = models.IntegerField(_("Total")) + import_immediatly = models.BooleanField("Import Immediatly", default=False) + + class Meta: + verbose_name = _("Import - Chunk") + verbose_name_plural = _("Import - Chunks") + + @classmethod + def clean_old(cls): + """ + Remove all chunk older than 3 hours + """ + date = datetime.datetime.now() - datetime.timedelta(hours=3) + q = cls.objects.filter(send_datetime__lte=date) + for chunk in list(q.all()): + q.delete() + + IMPORT_GEOMETRY = { "Point": "point_2d", "3D Point": "point_3d", |