Skip to content

Commit

Permalink
Allow to override deletion in parsers
Browse files Browse the repository at this point in the history
  • Loading branch information
gutard committed Jul 23, 2015
1 parent 8209e60 commit 093e4d1
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions geotrek/common/parsers.py
Original file line number Diff line number Diff line change
Expand Up @@ -352,10 +352,11 @@ def filter_m2m(self, src, val, model, field, mapping=None, partial=False, create
return dst

def start(self):
pass
self.to_delete = set(self.model.objects.values_list('pk', flat=True))

def end(self):
pass
if self.delete:
self.model.objects.filter(pk__in=self.to_delete).delete()

def parse(self, filename=None, limit=None):
if filename:
Expand All @@ -365,7 +366,6 @@ def parse(self, filename=None, limit=None):
if self.filename and not os.path.exists(self.filename):
raise GlobalImportError(_(u"File does not exists at: {filename}").format(filename=self.filename))
self.start()
self.to_delete = set(self.model.objects.values_list('pk', flat=True))
for i, row in enumerate(self.next_row()):
if limit and i >= limit:
break
Expand All @@ -375,8 +375,6 @@ def parse(self, filename=None, limit=None):
self.add_warning(unicode(e))
if settings.DEBUG:
raise
if self.delete:
self.model.objects.filter(pk__in=self.to_delete).delete()
self.end()


Expand Down

0 comments on commit 093e4d1

Please sign in to comment.